Asp.net 3.5 访问路径';xxxxxxxxx和x27;被拒绝

Asp.net 3.5 访问路径';xxxxxxxxx和x27;被拒绝,asp.net-3.5,Asp.net 3.5,每次我想将文件写入文件夹时都会遇到此错误 这是我的密码: protected void ListAttachments(List<MessagePart> msgParts) { bool attachmentsFound = false; StringBuilder b = new StringBuilder(); b.Append("<ol>"); foreach (MessagePart p i

每次我想将文件写入文件夹时都会遇到此错误

这是我的密码:

protected void ListAttachments(List<MessagePart> msgParts)
    {
        bool attachmentsFound = false;
        StringBuilder b = new StringBuilder();
        b.Append("<ol>");
        foreach (MessagePart p in msgParts)
        {
            string contentType = p.Headers["Content-Type"];
            string contentDisposition = p.Headers["Content-Disposition"];
            Match m;
            if (contentDisposition != null)
            {
                m = FilenameRegex.Match(contentDisposition);
                if (m.Success)
                {
                    attachmentsFound = true;
                    b.Append("<li><a href='Handler.ashx?fileName=" + m.Groups["filename"].Value + "'>").Append(m.Groups["filename"].Value).Append("</a></li>");
                    Response.AppendHeader("content-disposition", "attachment; filename=" + m.Groups["filename"].Value);
                    Response.ContentType = "application/octet-stream";
                    //Error Occurs
                    Response.TransmitFile(Server.MapPath(@"~/Files"));
                    Response.End();
                }
            }
            else if (contentType != null)
            {
                m = NameRegex.Match(contentType);
                if (m.Success)
                {
                    attachmentsFound = true;
                    b.Append("<li><a href='Handler.ashx?fileName="+m.Groups["filename"].Value+"'>").Append(m.Groups["filename"].Value).Append("</a></li>");
                }
            }
        }
        b.Append("</ol>");
        if (attachmentsFound)
            AttachmentsLiteral.Text = b.ToString();
        else
            AttachementsRow.Visible = false;
    }

请告诉我如何修复它……

我已经有一段时间没有使用ASP.NET了,但我将尝试一下这个答案。首先,错误非常明显-用户帐户(可能是ASP.NET进程正在其上下文下执行的网络服务帐户)无权访问目录F:\Gmail\Files

请参阅这篇文章,它将为您提供一个前进方向的指针,而不是详细说明为确保ASP.NET进程能够在不引起安全问题的情况下写入/读取磁盘文件而要采取的步骤

另请参考以下链接以了解更多信息(文章适用于ASP.NET 3.0)和

希望这能帮助你解决目前面临的问题

Server Error in '/Gmail' Application.

Access to the path 'F:\Gmail\Files' is denied.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.UnauthorizedAccessException: Access to the path 'F:\Gmail\Files' is denied. 

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user. 

To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

Source Error: 


Line 160:                    Response.AppendHeader("content-disposition", "attachment; filename=" + m.Groups["filename"].Value);
Line 161:                    Response.ContentType = "application/octet-stream";
Line 162:                    Response.TransmitFile(Server.MapPath(@"~/Files"));
Line 163:                    Response.End();
Line 164:                }

Source File: f:\Gmail\DisplayPop3Email.aspx.cs    Line: 162 

Stack Trace: 


[UnauthorizedAccessException: Access to the path 'F:\Gmail\Files' is denied.]
   System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) +7712175
   System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy) +1162
   System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) +66
   System.Web.HttpResponse.TransmitFile(String filename, Int64 offset, Int64 length) +134
   System.Web.HttpResponse.TransmitFile(String filename) +12
   DisplayPop3Email.ListAttachments(List`1 msgParts) in f:\Gmail\DisplayPop3Email.aspx.cs:162
   DisplayPop3Email.Page_Load(Object sender, EventArgs e) in f:\Gmail\DisplayPop3Email.aspx.cs:90
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
   System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
   System.Web.UI.Control.OnLoad(EventArgs e) +99
   System.Web.UI.Control.LoadRecursive() +50
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627