尝试从asp.net应用程序写入文件时出现System.UnauthorizedAccessException

克里斯托弗·格德斯

编辑:我找到了解决方案。我以为错误是在尝试编写要比较的文件时生成的,实际上是在我尝试读取要比较的文件时生成的。我在为比较可执行文件调用命令时遇到语法错误,这导致未生成结果文件。当我尝试读取不存在的文件时,我看到了访问冲突(是的,我应该一直在检查文件是否存在)。我在让BC生成比较时遇到问题(由于某种原因,完全相同的命令可从命令提示符下运行,但从C#运行时不起作用),但如有必要,我将作为一个单独的问题提出。

我正在.net应用程序上工作,该应用程序用于比较内部版本之间的代码更改。

我尝试添加的应用程序的一部分利用了无法比较的方式来生成两个代码块的html比较。

为了做到这一点,我从代码中生成文件(请注意,我知道文件名将对多个用户造成冲突,我将在稍后进行修复),然后从命令行调用超越比较可执行文件。我使用以下代码生成文件:

//write the code to a local disk file
            System.IO.File.WriteAllText(@workingFolder + "\\File1.txt", (String)dataRow["OldMethodCode"]);
            System.IO.File.WriteAllText(@workingFolder + "\\File2.txt", (String)dataRow["NewMethodCode"]);

workingFolder的值是这样的:“ C:\ inetpub \ wwwroot”

我遇到的问题是,当运行此代码并尝试创建这些文件时,出现以下异常:

[UnauthorizedAccessException:对路径'C:\ inetpub \ wwwroot'的访问被拒绝。] System.IO .__ Error.WinIOError(Int32 errorCode,字符串也许是FullPath)+216 System.IO.FileStream.Init(字符串路径,FileMode模式,FileAccess访问权限,Int32权限,布尔useRights,FileShare共享,Int32 bufferSize,FileOptions选项,SECURITY_ATTRIBUTES secAttrs,字符串msgPath,布尔bFromProxy,布尔useLongPath,布尔checkHost)+1430 System.IO.FileStream..ctor(字符串路径,文件模式模式,FileAccess访问,FileShare共享,Int32 bufferSize,FileOptions选项,字符串msgPath,布尔bFromProxy,布尔useLongPath,布尔checkHost)+214
System.IO.StreamReader..ctor(字符串路径,编码编码,布尔detectEncodingFromByteOrderMarks,Int32 bufferSize,布尔checkHost)+187 System.IO.File.InternalReadAllText(字符串路径,编码编码,布尔checkHost)+90 _Default.gridView_SelectedIndexChanged
(Object _sender,EventArgs e)+1024 System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e,布尔causeValidation,字符串验证组)+1241
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)+3804

我已经尝试了很多方法来解决此问题。像任何问题一样,您可能会忘记所有选择,但以下是我认为成功可能性最高(但没有用)的那些选择:

  • 将networkService作为完全权限添加到wwwroot文件夹
  • 将具有完全权限的所有人添加到wwwroot文件夹
  • 将应用程序池托管管道模式更改为经典
  • 将应用程序池设置为与自定义用户一起运行,并授予该用户对该文件夹的完全权限
  • 授予几乎所有与该文件夹相关的所有特权的其他用户
  • 将文件夹移动到wwwroot之外的另一个本地目录并指向该目录,然后使用该文件夹尝试上述所有操作。

在所有情况下,我似乎都无法创建文件,更不用说访问它来运行比较了。

有没有人提供关于如何解决此问题的建议,或进行不需要创建文件的比较的另一种/更好的方式?

谢谢!

克里斯托弗·格德斯

好的,这实际上是稍后在代码中引起的。当我尝试读入报告时(实际上未生成),该错误正在触发。

从C#运行时,让BC生成报告时遇到了问题(完全相同的命令在命令提示符下起作用),但如有必要,我将对此提出一个单独的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

获取文件时出现System.UnauthorizedAccessException

读取文件时出现UnauthorizedAccessException

尝试使用先前打开的文件打开StreamWriter时发生System.UnauthorizedAccessException

基于 ASP.NET Core 策略的授权中的 UnauthorizedAccessException 行为

XML System.UnauthorizedAccessException

写入安装路径时出现 System.UnauthorizedAccessException

当我尝试使用 C# 保存图像文件时如何修复“UnauthorizedAccessException”?

创建XML文件时出现UnauthorizedAccessException

以%temp%读取文件时出现随机UnauthorizedAccessException

加载XML文件时出现System.UnauthorizedAccessException错误

使用Kudu构建服务部署asp.net核心应用时获取UnauthorizedAccessException

Xamarin中的ASP.NET MVC 3项目提供了System.UnauthorizedAccessException错误

未处理System.UnauthorizedAccessException

FileIO System.UnauthorizedAccessException错误

uwp 流写入器 System.UnauthorizedAccessException

.NET Core 3.0控制台应用程序无法读取文件,引发UnauthorizedAccessException

初始化SpeechSynthesizer时出现UnauthorizedAccessException

打开文件时Windows Phone 8 UnauthorizedAccessException

UnauthorizedAccessException时如何跳过目录或文件

编写单元测试时出现System.UnauthorizedAccessException

保存文件时出现UnauthorizedAccessException,但可以创建目录

Botframework - 主动 - 冷调用时出现 UnauthorizedAccessException

UnauthorizedAccessException在Windows应用商店中访问XSD

Azure服务总线System.UnauthorizedAccessException

mscorlib.dll中的System.UnauthorizedAccessException

System.UnauthorizedAccessException:拒绝访问路径“ ...”

无法创建目录:System.UnauthorizedAccessException 错误

Outlook 赎回 - 从本地文件夹打开 .msg 文件时出现权限问题 (System.UnauthorizedAccessException)

当 python 应用程序尝试将日志文件写入 docker 中的共享卷时,权限被拒绝