我在ASP.NET网页的代码后面有一个函数,它创建一个文件然后用javascript命令打开它。这适用于IDE - 它创建文件,询问我要保存文件的位置,我可以保存它等等 - 但是当我安装网站并测试它时,我得到一个UnauthorizedAccessException而只是试图创建C:\ inetpub \ wwwroot。
中文件的目录令人沮丧的是,我有一个类似于在服务中运行的函数,并且在C:\ inetpub \ wwwroot中创建了它的目录和文件。
我需要做些什么才能让它适用于网页?
if(!Directory.Exists(directory))
{
Directory.CreateDirectory(directory);
}
StreamWriter SW = new StreamWriter(fullpath, false, Encoding.Unicode);
SW.WriteLine(/*stuff*/);
SW.Close();
答案 0 :(得分:7)
您需要通过右键单击目录,转到安全选项卡,添加相应的用户并选中写入复选框来确保.NET用户具有写访问权。
根据您的.NET / Windows / IIS版本,这可能会有所不同,通常是Network Service
或IUSR
。如果您运行的是IIS7,请确保在应用程序池的高级设置下检查身份,因为这将是需要写访问权限的用户,通常这也是网络服务。
答案 1 :(得分:6)
您需要授予ASP.Net用户对目录的写访问权。
答案 2 :(得分:-2)
只需使用管理权限打开文本编辑器(记事本或文本板或任何内容) 右键单击.exe文件,然后单击以管理员身份运行,您将能够立即执行