- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的包装第三方 DLL 的程序集在我的 Windows 测试工具应用程序中很好,而且它们也 在 Debug模式(VS 2008 Visual Studio 开发服务器)下生成时在 Web 服务中工作正常!但是,在本地 IIS 7 Web 服务器中运行时,应用程序总是崩溃。以下是在本地 IIS 服务器上运行时事件日志中的崩溃详细信息:
Faulting application w3wp.exe, version 7.0.6001.18000, time stamp 0x47919413, faulting module ntdll.dll, version 6.0.6001.18000, time stamp 0x4791a783, exception code 0xc0000374, fault offset 0x000aada3, process id 0x990, application start time 0x01c9b4133281d5d0.
讨论:我围绕来自第三方的 .NET dll(来自 FirstData 的 LinkPointTransaction.dll)编写了一个包装器,并且我编写了一些引用该包装器的其他程序集。在代码运行时,对第三方 LinkPointTransaction.LinkPointTxn.Send()
的调用通过 Internet 将事务成功发送到 FirstData,但我的应用程序在某处崩溃了 w3wp.exe 在那个电话中,在它到达下一行之前。它不会抛出我能看到的托管异常;它只是崩溃。除了 IIS7 之外,我的机器上的任何地方都可以正常工作。
我运行的是 64 位 Vista Home Premium (IIS7),但我在 IIS 中启用了 32 位应用程序,专门为此 Web 服务创建了一个单独的 AppPool,并将我的所有程序集强制为 x86。我尝试在我的用户帐户下以管理员权限运行应用程序池,而不是作为网络服务。 UAC 已关闭。我尝试过集成和经典模式。我已在本地防火墙中明确打开 LinkPointTransaction.dll 用于与 FirstData 通信的 TCP/IP 端口。我什至关闭了防火墙(在路由器后面)。
使用我列出的任何这些解决方法,它总是在 Windows 应用程序和 VS 开发服务器内的 Web 服务中工作,但从不 在本地 IIS 服务器上工作。
IIS 网站的 AppPool 处于经典模式。 (回应吉顿)
最佳答案
我认为这不再是一个编程问题,所以我正在“回答”它。
使用 WinDbg,我已经追踪到供应商提供的 dll。当应用程序崩溃时,dll 取消分配内存的方式似乎有问题。调用堆栈显示了 dll 中的内存释放操作,然后是内核中的“堆释放”操作,然后是 ntdll 中的“释放堆”操作,以及随后的“报告堆失败”(然后是 RtlReportCriticalFailure),它拆除了整件事。
我仍然不明白为什么它在 Windows 窗体应用程序和 IIS 6 中有效,但在 IIS 7 中无效。然而,这已成为一个平台问题,而不是“编程”问题。此外,修复它可能是供应商的责任,而不是我来解决它。
更新:在向供应商提交技术支持请求后的两天内,他们提供了一组更新的集成 DLL,这些 DLL 使用您在 regsvr32 中注册的 COM 对象,并且可以在 IIS7 中运行如果在 WOW64 目录中注册,则为 64 位。赞成第一个数据技术支持!
关于.net - LinkPoint 支付与 IIS7 的集成导致 w3wp.exe 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/712648/
我的包装第三方 DLL 的程序集在我的 Windows 测试工具应用程序中很好,而且它们也 在 Debug模式(VS 2008 Visual Studio 开发服务器)下生成时在 Web 服务中工作正
我正在尝试将一个简单的预订系统(用 ASP 开发)与这个支付网关集成:https://www.firstdata.com/ 我的网站托管在共享服务器上,我希望将交易详细信息传递给 firstdata,
我是一名优秀的程序员,十分优秀!