请问下面问题怎么解决?
ASPNET用户我已经添加。
代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim books As StreamWriter
books = File.CreateText(Server.MapPath("books.txt"))
books.WriteLine("Professional ASP.NET")
books.WriteLine("Professional C#")
books.Close()
End Sub对路径“c:\inetpub\wwwroot\CreateFile\books.txt”的访问被拒绝。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.UnauthorizedAccessException: 对路径“c:\inetpub\wwwroot\CreateFile\books.txt”的访问被拒绝。 ASP.NET 未被授权访问所请求的资源。请考虑授予 ASP.NET 请求标识访问此资源的权限。ASP.NET 有一个在应用程序没有模拟时使用的基进程标识(通常,在 IIS 5 上为 {MACHINE}\ASPNET,在 IIS 6 上为网络服务)。如果应用程序正在通过 <identity impersonate="true"/> 模拟,则标识将为匿名用户(通常为 IUSR_MACHINENAME)或经过身份验证的请求用户。 若要授予 ASP.NET 对文件的写访问权,请在资源管理器中右击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加适当的用户或组。突出显示 ASP.NET 帐户,选中所需访问权限对应的框。源错误:
行 29: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
行 30: Dim books As StreamWriter
行 31: books = File.CreateText(Server.MapPath("books.txt")) ‘出错的行。
行 32: books.WriteLine("Professional ASP.NET")
行 33: books.WriteLine("Professional C#")
源文件: c:\inetpub\wwwroot\CreateFile\WebForm1.aspx.vb 行: 31 堆栈跟踪:
[UnauthorizedAccessException: 对路径“c:\inetpub\wwwroot\CreateFile\books.txt”的访问被拒绝。]
System.IO.__Error.WinIOError(Int32 errorCode, String str) +393
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, Boolean useAsync, String msgPath, Boolean bFromProxy) +888
System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) +44
System.IO.StreamWriter.CreateFile(String path, Boolean append) +55
System.IO.StreamWriter..ctor(String path, Boolean append, Encoding encoding, Int32 bufferSize) +49
System.IO.StreamWriter..ctor(String path, Boolean append) +66
System.IO.File.CreateText(String path) +32
CreateFile.WebForm1.Button1_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\CreateFile\WebForm1.aspx.vb:31
System.Web.UI.WebControls.Button.OnClick(EventArgs e)
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain()
--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
lz自己的调试信息不是给出你答案了吗?^_^方法1:同hdt(倦怠
方法2:如果你的IIS用户有比较高的权限,使用asp。net模拟,可以在web。config中的 <system.web>配置节中添加<identity impersonate="true"/>
当你的应用程序部署在别人的机器上特别有用,比如网上购买的虚拟空间,一般IIS运行帐号都有读写文件的权限
各位说的,我都做过了。
但是还是不行。
刚用ASP.NET不久,还请各位多多帮忙!
hdt(倦怠) ( ) 你好!
我的系统正是WIN2003,
用户变成 network service?
是把我的登录用户名加到这个network service组?
如果你用的是2003,应该添加Network Service用户的权限
lz自己的调试信息不是给出你答案了吗?^_^方法1:同hdt(倦怠
方法2:如果你的IIS用户有比较高的权限,使用asp。net模拟,可以在web。config中的 <system.web>配置节中添加<identity impersonate="true"/>
当你的应用程序部署在别人的机器上特别有用,比如网上购买的虚拟空间,一般IIS运行帐号都有读写文件的权限
=======================================同意