我有一个查询 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需要它没有太多可以做

还没有这样做,但不是有可能有实时操作环境的桌面版本?这似乎一个好的开始进行故障排除。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top