我有一个专门用于管理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" />
......但这并没有解决它。
非常感谢任何解决方案或帮助。 我试图避免给演示网站提供自己的域名。
答案 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 /“替换它,应用程序指向正确的目录,不再抛出异常。