C# 如何更改ASP.NET的默认文件保存位置?
下面有一个小函数,它检查文件是否存在,如果不存在,则创建一个新文件C# 如何更改ASP.NET的默认文件保存位置?,c#,asp.net,C#,Asp.net,下面有一个小函数,它检查文件是否存在,如果不存在,则创建一个新文件 public static void LogFile(string sEventName) { StreamWriter log; if (!File.Exists("NETSlogfile.txt")) { log = new StreamWriter("NETSlogfile.txt"); } else { log = File.AppendTe
public static void LogFile(string sEventName)
{
StreamWriter log;
if (!File.Exists("NETSlogfile.txt"))
{
log = new StreamWriter("NETSlogfile.txt");
}
else
{
log = File.AppendText("NETSlogfile.txt");
}
log.WriteLine("Data Time: " + DateTime.Now + " Event: " + sEventName);
// Console.WriteLine(sEventName); // write responses to console for debugging
log.Close();
}
现在我得到一个异常:
“对路径“C:\Program Files(x86)\IIS Express\NETSlogfile.txt”的访问被拒绝。”
我不太关心这一点,因为我真的不想将文件保存在这个位置,而且可以键入任何文件路径,但是,我想知道是否有办法将此默认文件路径从“C:\Program Files(x86)\IIS Express\”设置到其他位置
特别是行“log=newstreamwriter(“NETSlogfile.txt”);”在此默认文件路径“C:\Program Files(x86)\IIS Express\”创建一个新文件(或至少尝试创建),是否仍要更改该默认文件路径?您无权将任何文件写入IIS目录,但可以在应用程序根目录或其中的任何子目录中写入文件 您可以在应用程序中创建一个文件夹,然后使用其路径来写入和读取文本文件,如下所示:
var filePath = Server.MapPath("~/Temp/NETSlogfile.txt");
if (!File.Exists(filePath))
现在使用filePath变量,它包含它的完整路径
假设您的应用程序目录中有一个名为Temp的文件夹。在参数中指定完整路径可能吗?我知道我可以这样做,我只是好奇您是否可以更改默认文件路径。我认为任何程序,如果不指定路径,则默认保存位置将是可执行文件的位置。这是一个有用的替代方法,但我想知道是否可以将保存到的目录(IIS目录)更改为其他位置。您需要明确指定我认为的完整路径。好的,因此无法更改IIS目录的默认文件路径?唯一的替代方法是指定完整的文件位置?通常,当我们不指定任何路径时,它会写入应用程序运行的位置。