【发布时间】:2023-04-10 08:52:02
【问题描述】:
嗯,我一直在使用如下方法在我的服务器上工作:
System.Web.HttpContext.Current.Server.MapPath("/path/something");
...到目前为止它一直在工作。不过,现在我遇到了一个问题。问题是,我需要编写一个位于外部服务器上的文件。 C# 中是否有方法可以做到这一点?
【问题讨论】:
-
如果你正在写一个到另一个服务器的路径,不要映射路径,只写文件。目前尚不清楚
MapPath与其他服务器有什么相关性。 -
该文件如何与您的网络服务器共享?如果它是使用 windows 文件共享(或基于 unix 的等价物)共享的,那么您可以通过它的 UNC 名称来解决它,例如
\\server\share\filename.txt。 Server.MapPath 并没有真正进入它,因为这是为了将相对于网络服务器的路径转换为磁盘上的路径,但从另一台服务器共享的文件夹不会成为您的网络服务器的一部分。您只需要知道文件的绝对 UNC 路径,当然您的应用程序需要相关权限才能写入。 -
您可以将外部服务器位置映射到网络驱动器。例如,您可以将
\\server\myfiles映射到`M:\`。另一种选择是在 IIS 中网站下的某个位置创建一个虚拟目录,该目录指向网络路径。 -
你所有的答案也很棒。谢谢。
标签: c# system.web mappath