ASP.NET 6 从 app.ApplicationServices.GetService 获取 RazorViewEngineOptions

ASP.NET 6 get RazorViewEngineOptions from app.ApplicationServices.GetService

如何从 app.ApplicationServices.GetService 得到 RazorViewEngineOptions

如果这很重要,我正在使用 ASP.NET MVC 6

在我的 'Startup.cs' 我有:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerfactory)
{
    var razorViewEngineOptions = app.ApplicationServices.GetService<????>();
}

我想知道的是我需要获取什么服务(上面代码中显示为????。)

谢谢。

我相信您希望在 GetService() 调用中使用 IOptions<RazorViewEngineOptions> 类型参数。

在此处考虑 ASP.NET 测试代码:

https://github.com/aspnet/Mvc/blob/master/test/Microsoft.AspNet.Mvc.Razor.Test/RazorViewEngineOptionsTest.cs#L39

        // Assert
        var accessor = serviceProvider.GetRequiredService<IOptions<RazorViewEngineOptions>>();
        Assert.Same(fileProvider, accessor.Options.FileProvider);

我无法在我当前的工作站上验证这一点,因此不确定这是否适用于 ASP.NET MVC v6,我认为它适用于此测试在 'master'.

HTH!