故障应用程序w3wp.exe,版本号为7.0.6001.18000,时间戳为0x47919413,故障模块ntdll.dll,版本号为6.0.6001.18000,时间戳为0x4791a783,异常代码0xc0000374,故障偏移量为0x000aada3,进程ID为0x990,应用程序启动时间为0x01c9b4133281d5d0。
讨论:我编写了一个包装器,封装了来自第三方(FirstData的LinkPointTransaction.dll)的.NET dll,并编写了一些引用该包装器的其他程序集。当代码正在运行时,对第三方LinkPointTransaction.LinkPointTxn.Send()的调用会成功地将事务发送到FirstData,但我的应用程序在它达到下一行之前在某个地方崩溃了w3wp.exe。它没有抛出我可以看到的托管异常;它只是崩溃了。除在IIS7外,它在我的机器上的任何地方都能正常运行。
我正在运行64位Vista Home Premium(IIS7),但我在IIS中启用了32位应用程序,为此Web服务创建了单独的AppPool,并强制所有程序集均为x86。我尝试使用具有管理员权限的用户帐户而不是Network Service运行应用程序池。UAC已关闭。我尝试了集成和经典模式。我已明确打开了本地防火墙中LinkPointTransaction.dll用于与FirstData通信的TCP/IP端口。我甚至关闭了我的防火墙(在路由器后面)。
无论我列出的任何这些解决方法,在Windows应用程序和VS开发服务器内部的Web服务中它总是工作正常,但永远不能在本地的IIS服务器中工作。
该IIS网站的AppPool处于Classic模式下。(针对Gidon的回复)