All,
.net 2
I just got sucked into finishing a project someone else started and then abandoned. I'm starting to figure out why they ran away...
- UI calls a .net web service to perform business logic and data access.
- The web service calls a VB6 component hosted in a server-activated COM+ application (synchronization=Required).
- Each call to the web service goes something like this
if myObject is nothing then
myObject = CreateObject(ProgId)
' my object has been defined as public at the web service class level
'I don't why
end if
myGlobalObj = myObject
' this is another global var that sits in a code module (bas file)
- set data in variables in code module
- Execute function in code module
- This in turn calls methods on the COM object
- The COM object in turns calls a proprietary 3rd party dll that performs the actual operations against the oracle database
This works just fine in development. When we start pounding the server with multiple users, we start getting protected memory errors...
"Attempted to read or write protected memory. This is often an indication that other memory is corrupt"
I think this has probably has something to do with threading but I thought putting the VB6 dll into the COM+ is Microsoft's solution to dealing
with legacy dlls. The fact that those references to the COM object are in scope higher than local makes me wonder too...
Any help\ideas would be appreciated.
Thanks,
Chris
P.S. If I'm babbling - sorry - my sleep/work ratio is a little out of whack