您的 asp.net 帐户{MACHINE}\ASPNET
没有对该位置的写入权限。这就是它失败的原因。
考虑向 ASP.NET 请求标识授予对资源的访问权限。
右键单击下载文件夹Properties > Security Tab > Edit > Add > locations > choose your local machine > click OK > Type ASPNET below "Enter the object name to select" > Click Check Names
选中所需访问权限 ( Full Control
) 的复选框。如果它不适合你做同样的Network Service
现在这应该显示您的本地{MACHINENAME}\ASPNET
帐户,然后您将写入权限设置为此帐户。
否则,如果应用程序通过 模拟<identity impersonate="true"/>
,则身份将是匿名用户(通常IUSR_MACHINENAME
)或经过身份验证的请求用户。
或者只是使用专用位置在 ASP.NET 中存储文件,即App_Data
. 要创建它,请右键单击您的 ASP.NET 项目(在 Visual Studio 中)Add > Add ASP.NET Folder > App_Data
。然后您就可以将数据保存到此位置:
var path = Server.MapPath("~/App_Data/file.txt");
System.IO.File.WriteAllText(path, "Hello World");