请问下面问题怎么解决?
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

解决方案 »

  1.   

    资源管理器-〉c:\inetpub\wwwroot\CreateFile\-〉属性-〉安全-〉asp.net ->fullcontrol
      

  2.   

    为ASPNET用户添加"修改"权限即可.
      

  3.   

    文件系统是NTFS才会有这个问题,
    lz自己的调试信息不是给出你答案了吗?^_^方法1:同hdt(倦怠
    方法2:如果你的IIS用户有比较高的权限,使用asp。net模拟,可以在web。config中的  <system.web>配置节中添加<identity impersonate="true"/>
    当你的应用程序部署在别人的机器上特别有用,比如网上购买的虚拟空间,一般IIS运行帐号都有读写文件的权限
      

  4.   

    资源管理器-〉c:\inetpub\wwwroot\CreateFile\-〉属性-〉安全-〉asp.net ->fullcontrol
      

  5.   

    多谢大家的帮忙!
    各位说的,我都做过了。
    但是还是不行。
    刚用ASP.NET不久,还请各位多多帮忙!
      

  6.   

    如果是win2003,用户变成 network service
      

  7.   

    设置CreateFile这个目录的安全权限,给Everyone 权限设置为完全控制试一下.
      

  8.   

    谢谢大家的回答!
    hdt(倦怠) ( ) 你好!
    我的系统正是WIN2003,
    用户变成 network service?
    是把我的登录用户名加到这个network service组?
      

  9.   

    应该是目录权限的问题
    如果你用的是2003,应该添加Network Service用户的权限
      

  10.   

    文件系统是NTFS才会有这个问题,
    lz自己的调试信息不是给出你答案了吗?^_^方法1:同hdt(倦怠
    方法2:如果你的IIS用户有比较高的权限,使用asp。net模拟,可以在web。config中的  <system.web>配置节中添加<identity impersonate="true"/>
    当你的应用程序部署在别人的机器上特别有用,比如网上购买的虚拟空间,一般IIS运行帐号都有读写文件的权限
    =======================================同意