c# - 无法在 C :\inetpub\wwwroot programmatically 中创建文件

标签 c# asp.net permission-denied

我在 ASP.NET 网页的代码隐藏中有一个函数,它创建一个文件,然后用 javascript 命令打开它。这在 IDE 中有效 - 它创建文件,询问我要保存文件的位置,我可以保存它等等 - 但是当我安装网站并对其进行测试时,我在尝试创建时收到 UnauthorizedAccessException C:\inetpub\wwwroot 中文件的目录。

令人沮丧的是,我有一个类似的功能在服务中运行,并在 C:\inetpub\wwwroot 中创建它的目录和文件。

我需要做什么才能让它在网页上运行?

 if(!Directory.Exists(directory))
 {
      Directory.CreateDirectory(directory);
 }

 StreamWriter SW = new StreamWriter(fullpath, false, Encoding.Unicode);

 SW.WriteLine(/*stuff*/);

 SW.Close();

最佳答案

您需要通过右键单击目录、转到安全选项卡并添加适当的用户并选中写入复选框来确保 .NET 用户具有写入权限。

根据您的 .NET/Windows/IIS 版本,这可能会有所不同,通常是 Network ServiceIUSR。如果您运行的是 IIS7,请确保在应用程序池的高级设置下检查身份,因为这将是需要写访问权限的用户,通常这也是网络服务。

关于c# - 无法在 C :\inetpub\wwwroot programmatically 中创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8525279/

相关文章:

mysql - 'Extent1.Email' 中的未知列 'field list'

c# - 使用 SQL 2000 和 ASP.NET C# 创建搜索引擎

android createTempFile 抛出权限被拒绝?

android - 从我自己的应用程序查询我自己的 ContentProvider 时获得权限拒绝

c# - EF 的 POCO vs POCO 更好的数据传输对象?

javascript - 为什么我的后端函数会循环,从而导致我的 GET ajax 调用失败?

c# - 将内容正文添加到客户电子邮件

c# - Visual Studio 2017 工具栏中未显示 Web Essentials 2017

c# - Chrome 和 Safari 中的 DropDownList 工具提示

c - 读取 proc 文件时权限被拒绝错误