2012-08-07 36 views
1

我們在大學裏做了一個家庭作業,使用MVC和VB創建一個本地網站,它將從Json文件(即App_Data文件夾中的位置)讀取一些種子數據並填充數據庫。 問題是,我不知道如何讓Json從App_data中的文件讀取,而無需爲其分配完整的地址。
會發生什麼,好看多了,是我給它一個地址:使用Json(.NET)從App_Data中讀取

File.ReadFile("~/App_Data/emails.json") 'Also tried "App_Data/emails.json" 

在那之後,我通過這條路徑(如文件名)一個StreamReader:

Using fileRead As New IO.StreamReader(filename) 
    Json read stuff 

,而不是和閱讀這個地址作爲項目的地址(「C:\ Users \ BlueLight \ Desktop \ Codes \ VBA \ NMCAss2 \ App_Data \ emails.json」),它會拋出一個異常,它「
」 「找不到路徑的一部分'C :\ Program Files(x86)\ Common Files \ Microsoft Shared \ DevServer \ 10.0 \ App_Data \ emails.json'。「所以,它在不同的地方搜索。
我可以將此路徑重定向到我的App_Data,而不使用完整路徑嗎?或者,也許在我的邏輯中某處存在問題?

在此先感謝。

更新:我試着用「\」反轉「/」,如「App_Data \ filename.json」和「'〜\ App_Data \ filename.json」它仍然無法工作。

回答

4

顯然,要解決這個問題最好的辦法是完全採用

System.Web.HttpContext.Current.Server.MapPath("~/App_Data/namemails.json") 

作品。

+0

感謝分享! – Nikos 2013-03-01 16:04:01

+0

因爲'System.Web.HttpContext.Current'將會爲空,所以當你運行單元測試時會失敗。 – matrix 2017-02-13 11:05:00