繁体   English   中英

DLLImport调用上的IIS 7.5错误

[英]IIS 7.5 error on a DLLImport call

我在运行IIS 7.5上使用asp.net 2.0的asmx Web服务时出错。 Web服务使用Dllimport调用从dll调用方法。 进行呼叫的地方就是发生错误的地方。 但是我没有例外,任何浏览器都没有ERR_CONNECTIO_RESET。

我试过的

  • dll位于正确的位置,bin文件夹。 我尝试将其移动到system32和其他位置。 但是,如果我在DLLIMPORT调用上更改了dll的名称,则会收到未找到dll的错误,这意味着它确实找到了dll,只是在方法上崩溃。
  • 我还使用了GetLastWin32Error()并得到了消息127 ERROR_PROC_NOT_FOUND。 不知道它是否相关,但是我也尝试过。
  • 如果我通过VisualStudio调试运行Web服务,则调用不会出错。 因此,错误是在IIS上运行时。
  • 我还在Windows XP上使用IIS 6的旧计算机上尝试过,但没有收到任何错误。 这使我认为这与安全问题有关,因为当我在IIS上创建网站时,出现了以下屏幕:

IIS 6

而且我还没有在IIS 7.5上配置任何安全选项。 所以我尝试了这个

http://forums.iis.net/post/2119656.aspx

这些步骤是为用户配置对文件夹具有足够权限的步骤。 但是,仍然没有运气。

我现在所相信的是与GOP(组策略对象)相关的东西。 我正在运行此服务的PC在公司网络上。 我具有管理员权限,没有防火墙限制,但是我不知道IIS 7.5是否使用其他用户提供的内容或需要不同的权限。

我发现的所有其他线程都没有适合我的正确答案。 我能得到的任何帮助都表示赞赏。

经过一周的努力,终于找到了问题所在。 找到一些日志后,我可以在C:\\ Windows \\ System32 \\ LogFiles \\ HTTPERR上检查,我发现了错误代码Connection_Abandoned_By_ReqQueue。

经过长时间的调查,我发现该消息表示该程序由于内存损坏而正在退出(如本文章Connection_Abandoned_By_ReqQueue Problems所示 )。 我正在使用的dll很旧,并且生成的人没有创建可以正确方式处理内存的版本(至少对于IIS 7.5而言),因此我一直在寻找另一个库来执行此工作或使用具有IIS 6的服务器。

暂无
暂无

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

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