IIS Express访问被拒绝。

5

我正在尝试在Visual Studio 2012中创建新文件。

fileStream = new FileStream("google_com.txt", FileMode.CreateNew);

但我一直收到这个错误信息 访问路径'C:\Program Files(x86)\IIS Express\google_com.txt'被拒绝。

请帮忙解决这个问题。

6个回答

12

解决方案:

  1. google_com.txt文件放在特定位置,例如C:\google_com.txt。实际上,默认位置(程序文件内部)不允许创建文件,因为可能没有适当的权限。
  2. 如果您想在默认位置(程序文件内部)创建文件,请以管理员身份运行Visual Studio。(R-Click->以管理员身份运行)。

7

以管理员身份运行Visual Studio


3

如果你没有以管理员身份运行,你无法在Windows Vista或更高版本中写入Program Files文件夹。

如果需要写东西,你应该将其写入应用程序的App_Data文件夹中。可以尝试使用Server.MapPath()函数。


2

如果这是一个 Web 应用程序,文件将会被创建在应用程序的根目录下,也就是你的 IIS Express 目录。请以管理员身份运行 Visual Studio,或者通过指定显式路径来更改文件的位置。


0

微软官方回复:

问题发生是因为ASP.NET应用程序尝试访问本地资源而缺少权限。如果由于自定义错误消息而无法获得问题的清晰描述,请运行FileMon并重现问题。停止并保存捕获为FileMon.xls,然后在Microsoft Excel中打开该文件。在“数据”菜单上,单击“筛选器”,然后单击“自动筛选器”以使用Excel的筛选功能。现在选择列F中的下拉列表,并查找“ACCESS DENIED”错误。

下面显示了一个示例FileMon输出。10381 1:01:11 PM w3wp.exe:2320 OPEN C:\winnt\microsoft.net\framework\v1.1.4322\Temporary ASP.NET Files\sessiontest\8832e585\275ec327\global.asax.xml ACCESS DENIED NT AUTHORITY\NETWORK SERVICE。从筛选结果可以看出,我们已经缩小了问题的原因。FileMon显示,NT AUTHORITY\NETWORK SERVICE帐户在C:\Winnt\Microsoft.net\Framework\v1.1.4322\Temporary ASP.NET Files文件夹上缺少NTFS权限。这应该很容易修复。有关使用FileMon排除ASP.NET故障的更多信息,请单击以下文章编号以查看Microsoft Knowledge Base中的文章。

https://support.microsoft.com/es-ve/help/910449/troubleshooting-common-permissions-and-security-related-issues-in-asp


0

试试这个:

Server.MapPath("~/ FolderName / google_com.txt ")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接