我们有一个工业系统,可以使用一些提供给我们的C++ DLL进行接口。我编写了一个.NET包装器来控制工业系统,然后将这个.NET包装器绑定到一个ASP .NET web应用程序中,这样我们就可以通过web控制系统。
当我使用ASP .NET开发服务器在Visual中运行/调试时,一切都正常。当我部署到本地ISS服务器时,我从C++ DLL中得到一个错误,这意味着存在通信故障。
因为IIS应用程序和Dev Server位于同一台计算机上,其中一台正常工作,另一台则不能工作,所以我确信这是一个权限/安全错误。我花了几天时间处理Application标识、ASP .NET模拟、文件系统权限等问题,但都没有效果。(我也是个,没什么用。)
所以,这是一句妙语:
请有人解释一下(如果可能的话)如何设置IIS .NET应用程序,使其能够完全访问本地机器(弹出,发射)?我希望确保IIS没有以任何方式阻止应用程序。
发布于 2012-04-19 01:24:52
我不确定给予完全信任模式是否会解决您的问题,因为错误似乎来自C++,或者缺少某种文件系统级别的权限,或者文件本身丢失。
无论如何,要回答您的问题,可以使用web.config设置完全信任模式,在web.config中添加以下部分:
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal"/>
</securityPolicy>
</system.web>更多细节可以在这里看到:http://msdn.microsoft.com/en-us/library/wyts434y.aspx
发布于 2012-04-19 04:09:21
除了在ASP.NET应用程序中设置完全信任级别之外,还可以检查IIS使用的用户是否可以匿名访问您的网站/web应用程序:
网站应用->属性->目录安全->编辑(在身份验证和访问控制)。
(此路径用于IIS6。)
默认情况下,IIS会为用户分配具有压缩权限的权限,这可能会导致您正在经历的问题。
https://stackoverflow.com/questions/10220364
复制相似问题