嗨,我一直在尝试正确配置 IIS 6 以提供写入权限大约 2 天,但我似乎找不到任何好的资源。我对 ASP.NET 有点陌生,直到现在我从来没有工作过与 IIS。
我要做的是将文件上传到服务器。服务器上的每个用户都将拥有自己的特殊文件夹,该文件夹将通过 C# 自动创建。现在当我尝试上传文件时,出现此错误:
拒绝访问路径“D:\Projects IDE\Visual Studio\MyWork\Websites\Forum\Images\avatar\userAvatars\aleczandru”
这是我为每个用户创建文件夹并保存文件的代码:
private void addImageToApp()
{
string path = "~/Images/avatar/userAvatars/" + User.Identity.Name;
createPath(path);
if( Directory.Exists(HostingEnvironment.MapPath(path)))
{
try {
UploadImage.SaveAs(HostingEnvironment.MapPath(path));
MultiViewIndex.ActiveViewIndex = 0;
}catch(Exception ex)
{
AvatarDetails.Text = ex.Message;
}
}
}
private void createPath(string path)
{
string activeDir = HostingEnvironment.MapPath("~/Images/avatar/userAvatars");
if( !Directory.Exists(Server.MapPath(path)) )
{
string newPath = Path.Combine(activeDir, User.Identity.Name);
Directory.CreateDirectory(newPath);
}
}
我在互联网上所能找到的只是我必须通过文件夹/属性/安全/...添加写权限,虽然这一切都很好,但我不能为每个文件夹都这样做。
到目前为止,我还不确定 IIS 是否是我需要配置的,我对此有点迷茫。
我必须做什么才能在文件夹创建时自动授予文件夹写入权限?
如果有人有一篇很好的文章或教程来说明如何做到这一点,请与我分享我能找到的所有信息都是非常基本的。
编辑
我已将网络服务帐户添加到具有完全权限的图像文件夹中,并将应用程序的池标识设置为 NetworkService,但我仍然收到相同的错误
编辑
在过去的几天里,为了完成这项工作,我一直在使用 SQL-SERVER,所以我可能错误地配置了一些我理解的网络服务存储在 SQL-SERVER master.db 数据库中的东西。我似乎有两个网络服务登录可能是这个问题吗?我记得当我第一次检查它时我没有现在我有两个: