2013-08-16 134 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中」)