We fixed the following issues and looked for new ideas or angles of attack.
The first scenario:
We have an ASP.NET-.NET 3.5, C # web application, built-in x86 targeting - it works on IIS7 / Windows Server 2008 R2 (64 bit). The ASP.NET web application runs under the default application pool with 32-bit applications enabled.
This web application uses some legacy components written in VB6 and created as ActiveX DLL files. DLLs are registered using regsvr32. Links to these components are added to the web application project (Visual Studio 2008), and we use the created Interop classes.
When a web application is built in release mode, errors are generated by legacy code deep enough in the routine stack every time a call is made to these legacy VB6 components. Usually this is something like:
ERROR 91 Object variable or With locked block variable [ComputerName: ClassName.cls: UserName]
If the same web application code is built in debug mode, the same errors occur, but they are intermittent. If the same action is repeated 10 times in the web application (the same inputs, ceteris paribus), we will see the problem about once.
Second scenario:
- .NET 3.5 #, x86, Windows Windows Server 2008 R2 (64 ). ActiveX EXE, DLL, - ( ). ActiveX EXE /regserver , .NET. Interop. EXE ActiveX, .
.NET , EXE ( ), , ActiveX EXE , .NET.
.NET , EXE / .NET-.
, debug versus release, , . , ActiveX EXE -. , , .