我可能走上了一条死路,所以我希望有人能告诉我“掉头!”或“继续前进!”- 我正在尝试将一个ASP.NET 5应用程序中的HTML助手转换为.NET Core 2.0应用程序。 当我在扩展类中调用助手时遇到了问题。 首先,我读到.NET Core使用DI将appsettings传递给不同类,因此我设置了带有DI的扩展类:
private readonly AppSettings _appsettings;
public HtmlHelperExtensions2(IOptions<AppSettings> appSettings)
{
_appsettings = appSettings.Value;
}
我可以从appSettings.json返回项。问题在于,为了使用DI,我需要从类签名中删除"static"引用,因此我也必须从助手调用中删除"this"引用:
public void HelpPanel(HtmlHelper htmlHelper, string thingId, string language)
{ }
否则我会收到编译错误。但是没有“this”引用,调用将期望一个新的HtmlHelper。
所以我正在努力克服这个问题,如果我实际上可以克服它。这是正确的路径还是我走上了死胡同?除了HtmlHelpers之外,我需要在Core中使用其他东西吗?我无法确定它们是否受到Core的支持。