Reading a file in MVC 6(在 MVC 6 中读取文件)
问题描述
我想访问服务器主文件夹中的 create.sql 文件.它包含设置我的数据库的查询.我根本无法访问此文件.
I want to access my create.sql file in the main folder of my server. It contains queries to set up my database. I have a problem to access this file at all.
1) 我无法通过 Configuration 真正到达那里.我只能使用 AddJsonFile、AddXmlFile 和 AddIniFile.而且我想这不是将大 sql 文件放入其中的最佳主意.
1) I cannot really get there through Configuration. I can only use AddJsonFile, AddXmlFile, and AddIniFile. And I guess this is not the best idea to put a big sql file into any of those.
2) github 上的 Mvc 源 似乎缺少 MapPath.所以不可能使用 Server.MapPath("~/create.sql").
2) Mvc source on github seems to be missing MapPath. So no possibility of using Server.MapPath("~/create.sql").
那么如何实现呢?
推荐答案
正如评论中已经注意到和提到的,ASP.NET VNext (MVC 6) 中似乎没有 MapPath.我在这里找到了解决方法:
As already noticed and mentioned in the comments it seems that there is no MapPath in ASP.NET VNext (MVC 6). I found the workaround here:
http://forums.asp.net/t/2005166.aspx?HostingEnvironment+Equivalent+For+MapPath
基本上你需要从IApplicationEnvironment接口中获取ApplicationBasePath,该接口目前是作为服务实现的,如下解决方案:
Basically you need to get the ApplicationBasePath from IApplicationEnvironment interface, which currently is implemented as a service, following below the solution:
private readonly IApplicationEnvironment _appEnvironment;
public HomeController(IApplicationEnvironment appEnvironment)
{
_appEnvironment = appEnvironment;
}
public IActionResult Index()
{
var rootPath = _appEnvironment.ApplicationBasePath;
return View();
}
这篇关于在 MVC 6 中读取文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:在 MVC 6 中读取文件
基础教程推荐
- Azure Functions:CosmosDBTrigger 未在 Visual Studio 中触发 2022-01-01
- 我应该在后面的代码中直接使用 Linq To SQL 还是使 2022-01-01
- .NET SerialPort DataReceived 事件未触发 2022-01-01
- Moq It.Is<>不匹配 2022-01-01
- WPF 模态进度窗口 2022-01-01
- 当值可以是对象或空数组时反序列化 JSON 2022-01-01
- 禁止输入少量字符,例如'<'、'&a 2022-01-01
- C# 从 List<List<int>> 中删除重 2022-01-01
- 如何使用 .Net 检查 Active Directory 服务器是否已启动并正在运行? 2022-01-01
- 如果有人提交恶意软件Nuget包怎么办? 2022-01-01
