与Server.MapPath存在很大问题,因为我无法从服务器解析它并且不确定如何测试它正在尝试做什么。
在本地,它可以通过各种不同的方式正常工作,但是当我把它放到服务器上时,每个人都会失败。
string filename = "TestLog.txt";
string path = Path.Combine(Server.MapPath("~/Content/"), filename);
Debug.WriteLine(path)
using (System.IO.StreamWriter writer = new System.IO.StreamWriter(path, true))
{
writer.WriteLine(message);
writer.Close();
}
我已尝试/在路径中添加内容并将额外/添加到文件名中。尝试过有和没有蒂尔达。它们都在本地正确解析路径,但不在服务器上解析。
对于记录,我尝试访问的路径是
Local:C:\ Users \ username \ Documents \ MyWebSite \ Web \ Content \ TestLog.txt 服务器:D:\ Web \ MyWebSite \ Content \ TestLog.txt
MyWebSite \ Web是本地站点的根本MyWebSite是服务器上的根,所以mywebsite.com/content/TestLog.txt
非常感谢任何帮助。
答案 0 :(得分:1)
它将成为一种权限。
当您在本地运行时(在Cassini WebServer ... Visual Studio的一部分下),您已获得许可。
当您在IIS中托管时,您可能不会。
给"写"该文件夹的权限 - 全部取决于您使用的IIS的版本 - 可能是通过ApplicationPool。
How do I give ASP.NET permission to write to a folder in Windows 7?