Turning off the WebFormViewEngine when using razor

2019-03-08 23:13发布

问题:

I downloaded Glimpse this morning to try it out and noticed this when I click on the views tab:

It checks all of the loaded view engines. I found where the RazorViewEngine is specified in web.config, but I couldn't find where the WebFormViewEngine was. Since I know my project will never have an web form view in it,

  1. Is it ok/safe to turn off WebFormViewEngine?
  2. How can I turn off WebFormViewEngine?

回答1:

It is perfectly OK to remove the web forms view engine if you are not using it. You can do it like:

public class Global : HttpApplication
{
    public void Application_Start()
    {
        // Clears all previously registered view engines.
        ViewEngines.Engines.Clear();

        // Registers our Razor C# specific view engine.
        // This can also be registered using dependency injection through the new IDependencyResolver interface.
        ViewEngines.Engines.Add(new RazorViewEngine());
    }
}

The above method calls go in your global.asax file.

source of code



回答2:

An alternative would be to remove only the view engine you want to remove:

    var webformVE = ViewEngines.Engines.OfType<WebFormViewEngine>().FirstOrDefault();
    ViewEngines.Engines.Remove(webformVE);