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