好的,在我说出任何其他内容之前,请注意我知道这已经被多次询问了。但是,我已经浏览了互联网,并且无法为我的特定情况找到解决方案。
我试图获取XmlDocument对象并将其保存到网络驱动器中。当我尝试将其保存到我的本地C驱动器时,它工作得很好,但当我尝试保存到网络驱动器时,无论是本地测试还是从IIS7 Web服务器测试,我都会收到错误"无法找到部分路径五:\测试\ DocName.xml&#34 ;.以下是我用来尝试完成此操作的代码:
using (var stream = new FileStream(Path.Combine(@"V:\Test", doc.DocumentElement.Name + ".xml"), FileMode.Create, FileAccess.Write))
doc.Save(stream);
doc当然是一个XmlDocument。我有双重和三重检查,我有权利该目录,我知道它存在的事实,并没有隐藏或任何东西。有什么想法吗?
答案 0 :(得分:0)
AFAIK云端硬盘映射是按用户分配的。请参阅this answer。
中的详情这意味着如果Visual Studio未在映射的同一帐户下运行,则无法找到它。
IIS也可能在不同的“用户”下运行。那里一样。
答案 1 :(得分:0)
来自Using Mapped Drives with IIS
云端硬盘映射是net use命令的扩展,是基于每个用户创建的。也就是说,驱动器映射的条目存在于映射到网络驱动器的用户的Hkey_Current_User注册表项下。此外,使用当前登录用户的凭据创建驱动器映射。
由于.NET网站在AppPool中运行且与帐户(通常是服务帐户)相关联,因此无法识别任何驱动器映射。
建议在.NET应用程序中使用UNC路径而不是驱动器映射。