繁体   English   中英

初始请求后ASP.NET无法调用非托管dll

[英]ASP.NET failing to call an unmanaged dll after initial request

因此,我有一个非托管的C ++ dll,可以从ASP.NET应用程序中调用它,它具有单个入口点和几个用于传递数据的结构。 如果我创建了一个C#控制台应用程序来调用dll,那么它将正常工作。 如果我将其连接到在本地WinXP计算机(IIS 5.1)上运行的asp.net应用程序,则可以正常工作。

当我将其发布到运行Windows 2003和IIS 6的开发环境时,第一个1或2调用可以正常工作,但随后它只是停止响应。 我没有收到任何错误消息,警告等...但是我很快就没头发了!

我已经设置了在其自己的应用程序池中运行asp.net应用程序的虚拟目录,但这似乎没有任何影响。 任何帮助将不胜感激。

干杯

当您说它停止响应时,您是什么意思? 您可以尝试放置记录语句,以跟踪调用周围的输入/输出,以查看其阻塞的确切位置。 还要确保检查服务器事件日志,其中写入了未处理的ASP.NET错误。 作为最后的选择,您可以在服务器上安装Visual Studio远程调试工具( msvsmon.exe ),并通过附加到相应的w3wp进程来逐步执行代码。 实际上,调试工具不需要安装,只需一个简单的副本即可( C:\\Program Files\\Microsoft Visual Studio 10.0\\Common7\\IDE\\Remote Debugger )。

该故障似乎实际上与C ++代码本身有关,它具有一些代码来处理线程环境的锁定,并且这似乎是失败的。 不知道为什么它可以在我的本地计算机而不是开发环境上运行,但这是另一个问题。

谢谢大家

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM