0

明白啦:

System.Security.SecurityException:请求“System.Security.Permissions.FileIOPermission,mscorlib,Version=2.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”类型的权限失败。(在 System.Security.CodeAccessSecurityEngine.Check(对象需求,StackCrawlMark& stackMark,布尔 isPermSet)......

网络上有很多与此问题相关的参考资料,但它们都指的是 ASP.NET 应用程序,或者它们与使其以某种方式“非法”进入 GAC 的程序集有关——这不是我的问题。

我有一个本地驱动器 D:\,其中包含:

D:\APLData\T

D:\APLData\I

D:\APLData\M

D:\APLData\P

D:\APLData\Z

有时我有网络驱动器 T、I、M、P 和 Z 指向这些文件夹。换句话说,这两个路径都指向同一个文件:

D:\AplData\T\FlipDB_Dev\Test\ShareTest.DWS

T:\FlipDB_Dev\Test\ShareTest.DWS

现在,当我从网络驱动器(T)启动有问题的程序时,我得到了错误。当我从本地驱动器(D)启动程序时,它就可以工作了。

任何想法如何解决这个问题?

4

2 回答 2

0

映射的驱动器特定于用户。如果您有权限并且您正在运行该应用程序,那么它应该可以工作,如果这是不同的帐户,那么您都需要权限并且相同的驱动器映射到相同的位置。为自己省点心痛并使用 UNC。

于 2012-06-09T18:26:51.830 回答
0

您是否检查了文件/文件夹的权限。特别是当链接到 LAN 共享上的文件时,ASP.NET 不会自动获得访问这些文件的权限,因为权限是在物理托管文件的机器上设置的。

您可以尝试的一件事是为用户组“Everyone”设置完全权限,但是,一旦您找到正确的权限级别,请不要忘记删除该权限。

更新:检查此链接,可能会派上用场

http://www.codeproject.com/Articles/19830/How-to-Access-Network-Files-using-asp-net

于 2012-06-09T18:17:23.250 回答