2011-05-06 106 views
46

我今天早上來嘗試一下下載Glimpse,並注意到這一點,當我點擊Views標籤:使用剃鬚刀時關閉WebFormViewEngine?

Glimpse Views Tab

它檢查所有已加載的視圖引擎。我發現在web.config中指定了RazorViewEngine,但我找不到WebFormViewEngine的位置。由於我知道我的項目將永遠不會有Web窗體視圖,

  1. 可以關閉WebFormViewEngine可以嗎?
  2. 如何關閉WebFormViewEngine

回答

70

這是完全確定的,如果你不使用它來刪除Web表單視圖引擎。你可以這樣做:

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()); 
    } 
} 

上述方法調用放在你的global.asax文件中。

code

+0

您的代碼表示,視圖引擎也可以使用依賴注入來定義。你有這樣的例子嗎? – amhed 2013-05-19 23:01:27

+0

這將搜索'.vbhtml'移除,使用**自定義Razor視圖引擎**檢查[這](http://www.dotnet-tricks.com/Tutorial/mvc/NcJP200113-Custom-Razor-View - 發動機換C#-and-VB.html) – stom 2016-01-18 11:52:59

13

的替代來源將僅刪除您要刪除的視圖引擎:

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

然針對3輪接受的答案此方法。他們都花費〜​​4ms的每次運行(對於那些誰是好奇)。 – SAm 2017-12-02 21:36:43