我可能走上了一条死路,所以我希望有人可以告诉我“转身!”或“继续前进!” -我正在尝试将HTML帮助程序从ASP.NET 5应用程序转换为.NET Core 2.0应用程序。在扩展类中调用帮助程序时遇到麻烦。首先,我读到.NET Core使用DI将应用程序设置分为单独的类,因此我使用DI设置了扩展类:
private readonly AppSettings _appsettings;
public HtmlHelperExtensions2(IOptions<AppSettings> appSettings)
{
_appsettings = appSettings.Value;
}
我可以从appSettings.json返回项目。问题是要使用DI,我需要从类签名中删除“静态”引用,因此我还必须从帮助程序调用中删除“ this”引用:
public void HelpPanel(HtmlHelper htmlHelper,string thingId,string language)
{ }
否则,我得到一个编译错误。但是,如果没有“ this”引用,该调用将需要一个新的HtmlHelper。
因此,我实际上想克服这一点。这是正确的道路还是我在这里走不通?除了HtmlHelpers,我是否还需要在Core中使用其他内容?我无法确定Core是否支持它们。