出现ASP.NET无权访问请求的资源错误

出现ASP.NET无权访问请求的资源错误,asp.net,asp.net-mvc,file-upload,iis-7,Asp.net,Asp.net Mvc,File Upload,Iis 7,我正在尝试使用ASP.NET MVC将文件上载到文件夹。我面临的问题是一个错误: ASP.NET无权访问请求的资源 以下是错误的完整描述: 对路径“D:\test”的访问被拒绝 描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源 异常详细信息:系统。UnauthorizedAccessException:对路径“D:\test”的访问被拒绝 ASP.NET无权访问请求的资源。考虑授予对ASP.NET请求标识的资源访问权限。ASP.NET有一

我正在尝试使用ASP.NET MVC将文件上载到文件夹。我面临的问题是一个错误:

ASP.NET无权访问请求的资源

以下是错误的完整描述:

对路径“D:\test”的访问被拒绝

描述:执行当前web请求期间发生未处理的异常。请查看堆栈跟踪以了解有关错误的更多信息以及错误在代码中的起源

异常详细信息:
系统。UnauthorizedAccessException
:对路径“D:\test”的访问被拒绝

ASP.NET无权访问请求的资源。考虑授予对ASP.NET请求标识的资源访问权限。ASP.NET有一个基本进程标识(通常是IIS 5上的{MACHINE}\ASPNET或IIS 6和IIS 7上的网络服务,以及IIS 7.5上配置的应用程序池标识),在应用程序未模拟时使用。如果应用程序是通过模拟的,则标识将是匿名用户(通常是IUSR_MACHINENAME)或经过身份验证的请求用户

要授予ASP.NET对文件的访问权限,请在文件资源管理器中右键单击该文件,选择“属性”,然后选择“安全”选项卡。单击“添加”添加相应的用户或组。突出显示ASP.NET帐户,并选中所需访问权限的复选框

我尝试对所有类型的帐户授予完全权限,如网络服务、本地用户、管理员、iis用户等,基本上是所有用户组/帐户。然而,我没有发现任何线索

以下是我使用的代码:

HTML标记:

<form action="~/home/uploadfiles" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="text" for="file" />
    <input type="file" name="file" id="file" />

    <input type="submit" name="submit" value="Submit" />
</form>

文件名:
C#代码:

public class ViewDataUploadFilesResult//文件类
{
公共字符串名称{get;set;}
公共整数长度{get;set;}
}
公共操作结果上载文件()
{
var r=新列表();
foreach(Request.Files中的字符串文件)
{
HttpPostedFileBase hpf=Request.Files[file]作为HttpPostedFileBase;
如果(hpf.ContentLength==0)
继续;
var FilePath=@“D:\test”;//Server.MapPath(“/videos1”);
字符串savedFileName=Path.Combine(
AppDomain.CurrentDomain.BaseDirectory,
GetFileName(hpf.FileName));
hpf.SaveAs(文件路径);
r、 添加(新ViewDataUploadFilesResult()
{
Name=savedFileName,
长度=hpf.ContentLength
});
}
//返回视图(“上传的文件”,r);
返回视图(“关于”);
}

检查此项我尝试使用impersonate,提供对相应上载文件夹的权限,但注意到我在windows 8环境下运行。请检查中的asp.net基本进程标识AppPool@malkam感谢您的回复,我通过在流程模型(appPool的高级设置)中将标识分配给NetworkService尝试了该选项,你在说这个吗?
public class ViewDataUploadFilesResult  //class of file
{
            public string Name { get; set; }
            public int Length { get; set; }
}

public ActionResult UploadFiles()
{
            var r = new List<ViewDataUploadFilesResult>();

            foreach (string file in Request.Files)
            {
                HttpPostedFileBase hpf = Request.Files[file] as HttpPostedFileBase;
                if (hpf.ContentLength == 0)
                    continue;
                var FilePath = @"D:\test";//Server.MapPath("/videos1");
                string savedFileName = Path.Combine(
                   AppDomain.CurrentDomain.BaseDirectory,
                   Path.GetFileName(hpf.FileName));
                hpf.SaveAs(FilePath);

                r.Add(new ViewDataUploadFilesResult()
                {
                    Name = savedFileName,
                    Length = hpf.ContentLength
                });
            }
            //return View("UploadedFiles", r);
            return View("About");
}