Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Can';t使用Filestreams.NET在服务器中创建文件_C#_.net_Server_Filestream_Streamwriter - Fatal编程技术网

C# Can';t使用Filestreams.NET在服务器中创建文件

C# Can';t使用Filestreams.NET在服务器中创建文件,c#,.net,server,filestream,streamwriter,C#,.net,Server,Filestream,Streamwriter,我试图做的是在服务器中创建或写入一个文本文件,作为数据日志,这段代码在我的pc中运行良好,但当我构建解决方案并上载服务器文件时,它不会创建任何内容。这段代码可能只是附加了数据,因为它找不到文件,所以什么都不做 string fileName= HttpContext.Current.Server.MapPath("~\\logs.txt"); using (FileStream SourceStream = File.Open(fileName, FileMode.Append)) { u

我试图做的是在服务器中创建或写入一个文本文件,作为数据日志,这段代码在我的pc中运行良好,但当我构建解决方案并上载服务器文件时,它不会创建任何内容。这段代码可能只是附加了数据,因为它找不到文件,所以什么都不做

string fileName= HttpContext.Current.Server.MapPath("~\\logs.txt");

using (FileStream SourceStream = File.Open(fileName, FileMode.Append))
{
  using (StreamWriter file = new StreamWriter(SourceStream))
  {
     file.WriteLine(data);
  }
}
我还检查了服务器文件夹权限,一切正常

我错过什么了吗? 有什么不对劲吗?
有什么可以做得更好的吗?

您应该授予IIS应用程序池的写入权限,以便应用程序可以在目录上写入文件。
在本地应用程序上,默认情况下具有此权限,但在服务器上,您应该手动授予此权限。

是否出现异常?如果是这样的话,错误是什么?这就是问题所在,我什么都不知道,我只知道文件没有被创建。你那里的代码会抛出一个异常,有很多异常取决于出错的地方。该文件正在其他位置写入,或者抛出了一个异常,您正在其他位置吞咽。您是否可以将
文件名
的位置记录到某个位置,以便查看它的去向?您是否在应用程序的其他目录(如
~/Content
)上对其进行了测试?我尝试了其他目录,但再次尝试,如果您没有收到任何错误,则可能文件正在创建,但由于服务器配置或主机控制面板的原因,您无法看到它。如何检查文件是否已创建?