使用Json(.NET)从App_Data读取

时间:2012-08-07 16:21:46

标签: vb.net json streamreader

我们在大学里做了一个功课,使用MVC和VB制作一个本地网站,它将从Json文件(位于App_Data文件夹中)读取一些种子数据并填充数据库。 问题是,我不知道如何让Json从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”它仍然无效。

1 个答案:

答案 0 :(得分:5)

显然,修复它的最佳方法是使用

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

完美无缺。