我似乎无法在Nancy框架中的System.Web.HttpContext.Current.Server.MapPath()中找到Nancy中的等价物。
我只想加载相对于应用程序服务的文本文件。
我在程序集中看到了这个
using Nancy;
using System;
namespace Nancy.Hosting.Self
{
public class FileSystemRootPathProvider : IRootPathProvider, IHideObjectMembers
{
public FileSystemRootPathProvider();
public string GetRootPath();
}
}
我不确定如何使用。
更新:我只是想出了我需要加载的东西,只需从bin / relase /目录中读取/写入即可。这是在Nancy Self Hosting环境中做到的假设方式吗?我想那是有道理的。
答案 0 :(得分:11)
您可以依赖IRootPathProvider
并使用它来调用GetRootPath()
,它会为您提供应用程序的根目录,您可以从那里添加(我建议使用Path.Combine
)
答案 1 :(得分:0)
如果您需要在静态类(例如HtmlHelpers
扩展名)中无法注入IRootPathProvider
依赖项,至少AFAIK,则可以使用AppDomain.CurrentDomain.BaseDirectory
DefaultRootPathProvider
在.Net 4.x的引擎盖下使用的内容:https://github.com/NancyFx/Nancy/blob/master/src/Nancy/DefaultRootPathProvider.cs