Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.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# 从Web服务器写入文件时出现问题_C#_Asp.net_File - Fatal编程技术网

C# 从Web服务器写入文件时出现问题

C# 从Web服务器写入文件时出现问题,c#,asp.net,file,C#,Asp.net,File,我正在从事的一个项目的一个要求是根据某些标准将文件导出到网络共享。当我在VisualStudio中运行代码时,它工作得很好,但是当我部署它时,启动保存文件的操作以失败告终。用户会看到一个带有以下内容的警报: Could not find file '<full filename...>'. 我怀疑更好的方法是将应用程序池的标识设置为具有访问权限(无模拟)。另外,请确保您使用的是UNC路径,而不是网络共享名(\\foo\bar),而不是“f:”等)。有许多变量可能会导致用户模拟失败,

我正在从事的一个项目的一个要求是根据某些标准将文件导出到网络共享。当我在VisualStudio中运行代码时,它工作得很好,但是当我部署它时,启动保存文件的操作以失败告终。用户会看到一个带有以下内容的警报:

Could not find file '<full filename...>'.

我怀疑更好的方法是将应用程序池的标识设置为具有访问权限(无模拟)。另外,请确保您使用的是UNC路径,而不是网络共享名(\\foo\bar),而不是“f:”等)。

有许多变量可能会导致用户模拟失败,在这种情况下,IIS将尝试以匿名用户的身份执行操作。您是否在尝试写入文件之前验证用户是否已正确身份验证

如果为某个应用程序启用了模拟 ASP.NET应用程序,该应用程序 在标识的上下文中运行 IIS传递给谁的访问令牌 ASP.NET。该令牌可以是 已验证的用户令牌,例如 已登录Windows用户的令牌, 或IIS为匿名用户提供的令牌(通常为 IUSR_机器名称标识)

using (System.IO.FileStream fs = new System.IO.FileStream(fullpath, System.IO.FileMode.Create))
{
    using (System.IO.StreamWriter sw = new System.IO.StreamWriter(fs))
    {
        sw.WriteLine(RouteMeter.HeaderString);
        foreach (RouteMeter meter in rm)
        {
            sw.WriteLine(meter);
        }
    }
}