2016-11-13 42 views
2

我想知道global.asax是什麼,它的內容是什麼意思。Web api mvc配置

我瞭解全局文件的概念,但我似乎無法弄清楚它的內容是什麼意思。這是文件:

Protected void Application_Start() 
{ 
    AreaRegistration.RegisterAllAreas(); 
    WebApiConfig.Register(GlobalConfiguration.Configuration); 
    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
    RouteConfig.RegisterRoutes(RouteTable.Routes); 

} 

此外,我明白這些行的順序是重要的。

回答

3

這實質上是在啓動時掛鉤到ASP.NET框架的MVC框架引導方法。在加載應用程序域時調用Application_Start。您可以按照您認爲合適的方式編輯此文件,並根據您在創建現在項目時選擇的內容,默認情況下可能包含或不包含這些行中的一些行。你在那裏有什麼。

  • AreaRegistration.RegisterAllAreas(); - 註冊區域,如果您有mvc應用程序,您可以配置區域以進一步對功能/視圖進行分組。有關更多詳細信息,請參閱Areas
  • WebApiConfig.Register(GlobalConfiguration.Configuration); - 註冊Web API路由並添加全局Web api過濾器。
  • FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); - 添加全局mvc過濾器。另請參閱previous SO question此方法的用途。
  • RouteConfig.RegisterRoutes(RouteTable.Routes); - 初始化mvc路由。
+0

非常感謝。我明白這兩個答案:) –

+0

@AmitToren - 很高興聽到它。請考慮接受答案(參見[如何接受答案](http://meta.stackexchange.com/a/5235))。 – Igor

1

你會發現在你的項目中App_Start文件夾

Protected void Application_Start() 
{ 
     AreaRegistration.RegisterAllAreas(); 
     WebApiConfig.Register(GlobalConfiguration.Configuration); 
     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); 
     RouteConfig.RegisterRoutes(RouteTable.Routes); 
} 

清楚地看到,每行表示每個配置文件。

enter image description here

這些文件用於以記錄各結構。

  1. BundleConfig - 用於捆綁和縮小所有的CSS和JavaScript代碼。要做到這一點

    BundleTable.EnableOptimizations = true;

  2. 一個FilterConfig

- 用來註冊所有的過濾器,可以跨controllers.This使用的地方是,你將包括在您的自定義過濾器下面方法

public static void RegisterGlobalFilters(GlobalFilterCollection filters) 
     { 
      filters.Add(new HandleErrorAttribute()); 
      filters.Add(new customFilterAttribute()); 
     } 
  • RouteConfig - 用於登記您的路線爲您的應用程序。我認爲這不需要進一步的解釋。

  • WebApiConfig - 用於選擇WebApi的情況。類似於你的asp.net mvc路由。 web API配置也有它自己的路線。 配置像序列化JSON,XML在這裏 指定例如:

    enter image description here

  • 這兩行解決您的Web API的大小寫敏感的問題,烏爾前端應用。

    +0

    你真的覺得這個編輯是OP在找什麼嗎? –

    +0

    哈哈,不錯!你應該必須獲得更多的關於SO的知識,在編輯500篇文章後,編輯時不會得到+2。關於答案,在SO上有很多類似的帖子,你只是把它搜索出來。和/或看看Igor給出的答案。這是OP正在尋找的東西。 –

    +0

    此外,你也應該參考SO模型[很好](http://stackoverflow.com/help/be-nice) –