我已经构建了一个使用 DLLImport 访问非托管代码的 Web 服务。该服务在 ASP.NET 服务器中运行得很好,但是一旦我从 IIS 运行该应用程序就会产生错误。我已经检查了权限,将 DLL 移到了 system32 文件夹等......我不知道还能做什么。该服务需要在 IIS 中运行。我应该怎么办?
Robert
问问题
470 次
3 回答
0
这可能是默认信任级别的问题。尝试在 FullTrust 级别运行您的应用程序,看看会发生什么:
于 2009-09-12T20:53:10.657 回答
0
VS 的 ASP.NET 服务器和 IIS 的主要区别在于 IIS 使用 ASP.NET 作为默认用户,而 VS 的服务器使用你的用户来工作。检查 ASP.NET 用户是否有权在 system32 中执行代码?提供更详细的错误信息,让我们了解问题。
于 2009-09-12T17:58:37.137 回答
0
如果它是经过身份验证的服务,您可以打开模拟以携带您的凭据。
要打开模拟:
http://msdn.microsoft.com/en-us/library/xh507fc5.aspx
在 web.config
<system.web>
<identity impersonate="true"/>
</system.web>
于 2009-09-13T09:27:03.973 回答