关于Server.MapPath的问题

minhua1983 2010-09-25 05:17:30
如果有2台服务器
服务器A:192.168.0.1
服务器B:192.168.0.2

两台服务器上有一个网站C,由于网站C在服务器A和服务器B上做了均衡负载,也就是

服务器A下面有网站C,网站C中有个目录叫upload目录。
服务器B下面也有网站C,但是网站C中没有upload目录,

我们把服务器A下面网站C的upload目录映射到了服务器B的X盘,然后在服务器B的网站C上面做了个虚拟目录指向了服务器的B盘,这样就能解决当网站C在服务器B上时,也能访问到服务器A稍的网站C下的upload目录了。

不过现在有个问题是当网站C在服务器B上运行时,用Server.MapPath来指向upload中的一个图片时,一直报错显示
X:图片,找不到。但是如果当网站C在服务器A上运行时,就一切正常。

大家知道这是为什么吗?
...全文
83 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yzf86211861 2010-09-27
  • 打赏
  • 举报
回复
学习下关注了
yuantaolzu 2010-09-27
  • 打赏
  • 举报
回复
关注一下
wuyq11 2010-09-26
  • 打赏
  • 举报
回复
parverxiao 2010-09-26
  • 打赏
  • 举报
回复
有时候直接用Server.MapPath(string) 调用一个文件比较麻烦,因为不同的目录中调用同一个Server.MapPath(string) 函数就会得到不同的值,
特殊的话,就需要通过判断本身目录层次才能获取正确的地址,使用的Request.MapPath(string)就可以调用同一个目录文件。不用做目录判断
parverxiao 2010-09-26
  • 打赏
  • 举报
回复
Server.MapPath一般指指定的虚拟路径映射到物理路径。
有时候直接用Server.MapPath() 调用一个文件比较麻烦,因为不同的目录中调用同一个Server.MapPath() 函数就会得到不同的值,特殊的话,就需要通过判断本身目录层次才能获取正确的地址,你使用Request.MapPath()这个看看
鸭梨山大帝 2010-09-25
  • 打赏
  • 举报
回复
你确定"解决当网站C在服务器B上时,也能访问到服务器A上的网站C下的upload目录"可以正常访问.

如果能正常访问,

一般负载平衡,服务器的架构最好是一致的.否则会有一些意想不到的异常出现.

另外:"服务器A下面网站C的upload目录映射到了服务器B的X盘"
不要用直接映射X盘的方式,这种映射的方式有权限问题的.因为你映射的时候使用的是管理员账户,而运行IIS的并非你的管理员帐号,而是ASPNET.

你的需求只是要弄个File Server或者File Path(可以在A服务器上),A服务器,B服务器都能正常访问而已
最好的方式就是共享目录,共享出来给A服务器,B服务器即可.

然后A服务器/B服务器上新增虚拟目录指向File Server或者File Path

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧