如何修复“拒绝访问路径”错误?

时间:2013-07-12 06:04:25

标签: c# asp.net permissions directory

我有一个文件夹,我想在这个文件夹中进行一些处理,比如解压缩并读取文件。这是完美的这部分,但是当我尝试打开asp.net上的文件夹时,我有一个错误:

 Error: System.UnauthorizedAccessException: Access to the path
    \\101.101.101.126\d$\abc\abc\abc' is denied. 
         at System.IO.__Error.WinIOError(Int32 errorCode,
         String maybeFullPath) at System.IO.Directory.InternalGetFileDirectoryNames(String path, String
     userPathOriginal, String searchPattern, Boolean includeFiles, 
         Boolean includeDirs, SearchOption searchOption) at 
         System.IO.Directory.GetFiles(String path, 
         String searchPattern, SearchOption searchOption) at GetEmailReport.GetEmailCampaignDeliveryStatusReportViaFtp() in
          c:\abc\abc\abc.cs:line 120

我更改了ISS用户,Asp.Net和其他人的文件夹权限,但我有一些错误。如何解决这个错误?

1 个答案:

答案 0 :(得分:0)

用户(其帐户用于运行您的应用程序)必须能够访问该路径

有两种方法可以实现这一目标:

  1. 为您的应用程序配置一个特殊的应用程序池,该应用程序池将在具有必要权限的用户下运行(可以访问远程服务器上的管理员共享)。因此,您的整个应用程序将在该帐户下运行并拥有其所有权限。

  2. 使用模拟在其他帐户下执行部分代码。这不需要任何IIS配置,并且比第一种方式更安全和灵活(例如,您可以在单个应用程序中模拟多个帐户)。

  3. 我为此目的使用了一个助手类:http://pastebin.com/HQWT7yFX(找不到原作者,所以这是我稍加修改的版本)