我有一个查询Lucene索引的Web应用程序,它在我的网络中的W2K3服务器上运行良好。现在我得到了我的azure代码,所以我想测试上传应用程序的服务。为了做到这一点,我必须安装Vista(我在虚拟机中完成),因为Azure SDK不会安装在XP机器上。
我创建了我的Cloud Service,从我的应用程序中添加了文件但是当我运行它时(只是F5)我得到一个SecurityException,当我调用Lucene查询索引时,说:
该应用程序试图执行 不允许的操作 安全政策。授予这个 申请所需的许可 请联系您的系统 管理员或更改 应用程序的信任级别 配置文件。
我一直在谷歌上搜索我发现的解决方案涉及修改machine.config文件,这是我无法“在云端”做的事情。
有人可以为此提供帮助吗?
答案 0 :(得分:1)
好的,如果有人遇到同样的问题,这是我从Azure论坛得到的正确答案:
这是因为信托政策 对于Windows Azure CTP。该 环境变异TEMP和TMP是 可用并适当地设置。 但是,System.IO.Path.GetTempPath 和System.IO.GetTempFile不起作用 因为他们需要不受限制 环境权限。我会 建议你联系Lucene 开发人员看他们是否可以修改 代码使它在媒介中正常运行 信任环境。
感谢Daniel C. Wang的回答。
答案 1 :(得分:1)
我还发现了一个关于同一问题以及如何修复的问题 这里有链接:Lucene.Net fails at my host because it calls GetTempPath(). What’s the work around?
答案 2 :(得分:0)
您可以在web.config中更改信任,除非在machine.config(它通常位于共享主机中)中不允许这样做。在你的内部,看看会发生什么。
如果您不允许这样做,请与您的提供商联系,了解您是否可以获得GACd控制权。如果这不起作用,抱歉说,但你运气不好。有时您可以找到不需要完全信任特定方法的变通方法,但如果第三方dll需要它,那么您可以做的事情不多
答案 3 :(得分:-1)
没有这样做但是不可能拥有桌面版的Live Operating Environment吗?这似乎是排除故障的良好开端。