2013-08-16 112 views
0

我试图让我的.Net网站读取显示它所在计算机状态的文本文件中的第一行。如果我删除Server.MapPath,它将修复它在服务器上的问题,但是由于它似乎试图访问客户端计算机上的错误,我得到了好的旧“Server.MapPath - 给定的物理路径,预期的虚拟路径”客户端PC上的文件。下面是摘录:StreamReader Server.MapPath - 给出的物理路径,预期的虚拟路径

 StreamReader StreamReader3 = new StreamReader(Server.MapPath(@"C:\\status\\status.txt")); 
     TextBox2.Text = StreamReader3.ReadLine(); 
     StreamReader3.Close() 

我知道我大概可以通过移动打电话到同一文件夹中的网页文件解决问题,并有我的服务器端程序的更新有文件,但有没有办法做到否则呢?谢谢。

+0

您不能访问客户端的PC。 – SLaks

+0

我现在知道谢谢,它只是当站点加载到客户端PC上,没有Server.MapPath或其他明智的时候,我无法找到文件,当我删除Server.MapPath,我可以加载服​​务器上的浏览器,它工作正常,只是当加载到客户端PC上,它说没有找到文件。 –

+0

这可能是因为该文件不存在。 – SLaks

回答

0

MapPath将从〜开始的路径转换为完全本地路径。看起来不像你在你的代码中需要它。

如果文件应该始终处于固定位置,请直接按完整路径打开。

如果它是相对于站点根目录,然后使用类似使用Server.Mappath(“〜/ status.txt中”)