1

我有一个查询 Lucene 索引的网络应用程序,它在我的网络中的 W2K3 服务器中运行良好。现在我得到了我的天蓝色代码,所以我想测试上传应用程序的服务。为了做到这一点,我必须安装 Vista(我是在虚拟机中安装的),因为 Azure SDK 不会安装在 XP 机器上。

我创建了我的云服务,从我的应用程序中添加了文件,但是当我运行它(只是 F5)时,我得到一个 SecurityException,当我调用 Lucene 来查询索引时,说:

应用程序试图执行安全策略不允许的操作。要授予此应用程序所需的权限,请联系您的系统管理员或在配置文件中更改应用程序的信任级别。

我一直在谷歌搜索,我发现的解决方案涉及修改 machine.config 文件,这是我无法“在云中”做的事情。

有人可以帮忙吗?

4

4 回答 4

1

好的,如果有人遇到同样的问题,这是我从 Azure 论坛得到的正确答案:

这是因为 Windows Azure CTP 的信任策略。环境变量 TEMP 和 TMP 可用并适当设置。但是,System.IO.Path.GetTempPath 和 System.IO.GetTempFile 不起作用,因为它们需要不受限制的环境权限。我建议您联系 Lucene 开发人员,看看他们是否可以修改代码,使其在中等信任环境中正常运行。

感谢 Daniel C. Wang 的回答。

于 2008-12-02T14:49:11.270 回答
1

我还发现了一个关于我的相同问题以及如何解决的问题。
这里是链接:Lucene.Net 在我的主机上失败,因为它调用 GetTempPath()。有什么工作?

于 2008-12-04T22:01:39.353 回答
0

您可以更改 web.config 中的信任,除非 machine.config 中不允许这样做(通常在共享主机中)。在你的看跌期权中,看看会发生什么。

如果不允许您这样做,请查看您是否可以通过与您的提供商交谈来获得您的控制 GACd。如果这不起作用,很抱歉,但你不走运。有时您可以找到不需要完全信任特定方法的解决方法,但如果第三方 dll 需要它,您无能为力

于 2008-12-01T17:57:36.523 回答
-1

还没有这样做,但是否有可能拥有实时操作环境的桌面版本?这似乎是故障排除的良好开端。

于 2008-11-29T13:42:21.923 回答