MVC路由中routes.IgnoreRoute("{resource}.axd/{*pathInfo}") 到底什么意思!


我們在開發MVC當中,經常在我們的全局類的路由設置,看到這樣的代碼:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}") //對所有axd的資源 進行忽略,直接進行URL訪問

幾乎有所有的同學 都默認保留,也沒有人問津!

最近正好,在學習MVC的Filter這個刷選器,順便在群里發起討論,幾乎沒有一個准確答案!

我正好借此機會學習了下:

{resource}.axd 表示后綴名為.axd所有資源 如webresource.axd

{*pathInfo} 表示所有路徑

這個axd到底是什么呢!

從上面可以看到,axd 是對C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll 的隱射。

那你這個時候,估計還不明白。這個*.axd到底是什么東東呢!

其實后綴名.axd 就是一個ashx一樣的weweb handler,實現接口IHttpHandler的方法。

這樣的好處可以:可以免去繁瑣的控件解析過程和頁面處理過程。

比如:fckeditor控件,我在調用它的時候 就得在webconfig 中注冊,那你這個時候 就需要路由設置當中這句:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

還比如:我們把css,js,image 等封裝到dll里,那我們這個時候也不需要路由器對其解析,可以直接訪問,也需要上面這句。

如:webresource.axd

但是你們如果沒有用第三方控件,或封裝Image,Css,Javascript到Dll的時候。

就可以完全可以刪除了! 不知道講解的對不對,希望路過的大牛指點,不要誤人子弟為好!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM