ASP.net应用程序中的SecurityException

时间:2008-11-29 13:27:50

标签: asp.net azure securityexception cloud-platform

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

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

  

该应用程序试图执行   不允许的操作   安全政策。授予这个   申请所需的许可   请联系您的系统   管理员或更改   应用程序的信任级别   配置文件。

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

有人可以为此提供帮助吗?

4 个答案:

答案 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吗?这似乎是排除故障的良好开端。