为什么我收到这个例外?

时间:2012-07-27 16:11:30

标签: c# .net asp.net-mvc-3

我有一个专门用于管理www.example.com上的小公司的应用程序。我们还有一个演示站点,潜在客户可以访问www.example.com/demo查看系统的工作原理。 example.com网站运行完美,但在尝试通过演示系统读取/写入位于www.example.com/demo/fileHere的文件时,我一直收到此错误:

[SecurityException: Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]

我尝试将app.config应用设置更改为:

<appSettings file="./demo" /> 

......但这并没有解决它。

非常感谢任何解决方案或帮助。 我试图避免给演示网站提供自己的域名。

3 个答案:

答案 0 :(得分:1)

您收到该异常,因为您的执行程序集没有在所需位置读/写的权限。

答案 1 :(得分:0)

乔,

您是否尝试过更明确的语法,即:

<appSettings>
  <add key="file" value="http://www.example.com/demo/"/>
</appSettings>

应该没有赔率,但值得尝试。但是,我觉得在这种情况下使用IIS无法使用的外部资源是一个问题。

答案 2 :(得分:0)

通过以下方式更改此行代码:

string path = Path.Combine(@"/MyFile/", ViewBag.Name + "/" + file.Name);

为:

string path = Path.Combine("~/MyFile/", ViewBag.Name + "/" + file.Name);

我可能错了,但是当使用@“/ MyFile /时,子域名似乎试图从父域打开文件。通过用”〜/ MyFile /“替换它,应用程序指向正确的目录,不再抛出异常。