My assemblies that wrap a third-party DLL work fine in my Windows testing application, and they also work fine in a web service when they appear in debug mode (VS 2008 Visual Studio Development Server)! However, the application always crashes when running on the local IIS 7 web server. The following is information about crashes from the event log when running on the local IIS server:
Incorrect application w3wp.exe, version 7.0.6001.18000, time stamp 0x47919413, fault module ntdll.dll, version 6.0.6001.18000, time stamp 0x4791a783, exception code 0xc0000374, error offset 0x000aada3, process ID 0x990, application startup time 0x01c9b41332.
Discussion: I wrote a wrapper around dll.NET from a third-party (LinkPointTransaction.dll from FirstData), and I wrote several other assemblies that reference this shell. When the code is launched, a third-party call LinkPointTransaction.LinkPointTxn.Send()successfully sends the transaction to FirstData via the Internet, but my application issues w3wp.exe somewhere at the time that it calls before it goes to the next line. This is not an exception that I can see; he just falls. Works fine on my machine except IIS7.
I am running 64-bit Vista Home Premium (IIS7), but I have included 32-bit applications in IIS, created a separate AppPool only for this web service, and forced all my x86 builds. I tried to launch the App Pool under an administrator account, and not as a Network Service. UAC is off. I tried integrated and classic modes. I openly opened the TCP / IP port in the local firewall that LinkPointTransaction.dll uses to communicate with FirstData. I even turned off the firewall (behind the router).
Using any of these workarounds that I have listed, it always works in a Windows application, as well as in a web service inside VS Development Server, but never works in a local IIS server.
AppPool - IIS . (
)