我有一些JSON数据配置文件,希望将它们作为静态文件在线放置,并在我的Web服务初始化时读取它们。因此,我希望从我的代码内部访问它们,而不是将其公开给外部访问。
按照下面的说明,我将它们放在 / wwwroot / Static 文件夹中,并在Startup.Configure()中使用 app.UseStaticFiles(); ,然后我尝试使用“ 〜 / Static / *。json”符号通过HTML和C#代码读取它们,但不适用于C#代码。
本地时,出现错误: DirectoryNotFoundException:找不到路径'... \ Repos \ VS2019 \ my-project-folder \ 的一部分〜 \ 静态 \ filename.json ”。
因此,〜符号不会转换为wwwroot文件夹名称。
在线(作为Azure App Service)时,我得到: HTTP ERROR 500
做什么我做错了吗?
答案 0 :(得分:0)
使用HostingEnvironment获取物理位置:
public HomeController(IHostingEnvironment hostingEnvironment)
{
string data= System.IO.File.ReadAllText(hostingEnvironment.WebRootPath.ToString()+ @"\Static\test.json");
}
如果应用程序是Web Api,则使用ContentRoot而不是WebRootPath。