ASP.net 应用程序中的 SecurityException
-
11-07-2019 - |
题
我有一个查询 Lucene 索引的 Web 应用程序,它在我的网络中的 W2K3 服务器中运行得很好。现在我得到了我的天蓝色代码,所以我想测试上传应用程序的服务。为了做到这一点,我必须安装 Vista(我在虚拟机中安装),因为 Azure SDK 无法安装在 XP 机器上。
我创建了我的云服务,从我的应用程序添加了文件,但是当我运行它(只需 F5)时,当我调用 Lucene 查询索引时,我得到一个 SecurityException ,说:
该应用程序试图执行安全策略不允许执行操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。
我一直在谷歌上搜索,我发现的解决方案涉及修改 machine.config 文件,这是我无法“在云中”完成的事情。
有人可以帮忙吗?
解决方案
好了,万一有人也面临同样的问题,这是正确的答案,我从Azure的论坛有:
这是因为信任政策 对于Windows Azure的CTP。该 环境variablies TEMP和TMP是 avaliable并设置appropiately。 然而,System.IO.Path.GetTempPath 和System.IO.GetTempFile不工作 因为它们需要无限制 环境的权限。我会 建议您联系了Lucene 开发商,看看他们是否可以修改 代码,以便它可以正常运行在中 信任的环境中。
由于丹尼尔C.王的答案。
其他提示
我还发现了一个关于我的同样问题以及如何解决的问题。
这里是链接: Lucene.Net 在我的主机上失败,因为它调用 GetTempPath()。有什么解决办法吗?
可以在web.config改变信任,除非已在machine.config(它通常是共享主机)被禁止。你把里面看看会发生什么。
如果你不能做到这一点,看看你是否可以说你的供应商让你控制GACd。如果还是不行,抱歉地说,但你的运气了。有时你会发现不需要完全信任,具体的方法解决方法,但如果第三方DLL需要它没有太多可以做
还没有这样做,但不是有可能有实时操作环境的桌面版本?这似乎一个好的开始进行故障排除。