ASP.NET MVC Boilerplate是專業的ASP.NET MVC模版用來建立安全、快速、強壯和適應性強的Web應用或站點。它在微軟默認MVC模版之上提供了要求最少的代碼實現。css
使用此模版的主要好處:html
Visual Studio提供的默認MVC模版 沒有充分發揮工具的做用。它非安全、緩慢而且僅有很基本的特性組成。ASP.NET MVC Boilerplate提供部分解決方案讓你快速啓動。它容許自由使用並提供檢查列表幫助你明確須要作的任務讓你的應用和站點更加完善。github
此文餘下部分將瀏覽針對MVC模版的提升。結束時提供如何使用它。同時,提供將來將作的改進,此處將瀏覽每一個功能的細節。web
默認MVC模版並不安全。各類設置 (大部分在web.config文件中)並非默認安全的。例如,它曝露了使用的IIS版本並默認容許外部腳本訪問Cookie。設計模式
ASP.NET MVC Boilerplate 默認使用安全選項,並使用各類發送給瀏覽器的HTTP頭嚴格要求請求和響應。瀏覽器
也使用了新的內容安全策略 (CSP) HTTP頭,經過使用 NWebSec NuGet程序包。CSP 保證了Web安全,強烈建議閱讀上面的連接。安全
設置 SSL/TLS讓你的站點運行在HTTPS之上,你能夠經過上面的連接和說明進行配置。服務器
默認MVC模版沒有考慮性能問題。可能它們沒有考慮使用何種Web服務器。幾乎全部的ASP.NET MVC站點都使用IIS,其配置在web.config文件中system.webServer節中,對性能影響尤爲重要。網絡
ASP.NET MVC Boilerplate沒有假設。它爲靜態文件和動態文件打開GZip壓縮,讓它們在被送到瀏覽器以前變得更小,能被更快下載。它也默認使用內容分發網絡 (CDN) 讓通用腳本如jQuery能被快速下載。
不只如此! 還有其它不少調教和最佳實踐的示例用來幫助提升ASP.NET MVC Boilerplate 性能達到96/100分,評測使用YSlow。
默認 ASP.NET MVC模版沒有考慮搜索引擎優化。ASP.NET MVC Boilerplate添加動態生成的robots.txt文件告訴搜索引擎哪些頁面能夠被索引。同時添加動態生成的sitemap.xml文件幫助搜索引擎更進一步提供訪問全部你的頁面的途徑。
ASP.NET MVC有不少有用的設置用來追加斜槓地址到URL並讓全部URL小寫。但不幸的事,全部這些默認被關閉了,這對SEO來講真的事糟糕極了。此項目打開了全部這些設置。
它同時包含一個MVC過濾器用來幫助重定向非標準URL到它們的標準地址。
世界4%人口有視覺障礙,0.55%爲盲人。更多的統計可從此處得到。ASP.NET MVC Boilerplate保證你站點的可訪問性,經過增長aria特性到你的HTML標記和專門圖標給使用屏幕閱讀的人們。.
站點須要知足經過各類設備的多數人儘量訪問。ASP.NET MVC Boilerplate支持瀏覽器到IE8 (IE8仍佔有4%的市場份額)。
ASP.NET MVC Boilerplate也支持桌面瀏覽器的其它設備。它包括默認圖標而且可爲Windows 八、安卓、蘋果設備和少數其它特別設備進行顯示。
站點拋出異常而且你須要處理而且記錄異常,讓後讓你便於理解並修復它。ASP.NET MVC Boilerplate 包含Elmah,最流行的日誌插件已經被預置在模板中。
ASP.NET MVC Boilerplate使用來自谷歌和微軟流行的內容發佈網絡 (CDN),若是不行很差用,ASP.NET MVC Boilerplate提供備份。
不只有標準的錯誤頁如500 Internal Server Error、404 Not Found和不少其它錯誤頁內建在末班中。ASP.NET MVC Boilerplate甚至包含了IIS配置來保護免受Denial-of-Service (DoS)攻擊。
ASP.NET MVC Boilerplate 使用 Glimpse (鑑於Scott Hansleman的 宣傳)。 它是不錯的用來進行開發並查找性能問題和缺陷的工具。固然Glimpse是預置好的,不須要安裝。
作正確的事須要時間。使用控制反轉(IOC) 做爲默認模式。ASP.NET MVC Boilerplate使用Autofac做爲IOC默認容器。不少其它容器都工做得很好,選擇Autofac由於有不少ASP.NET MVC幫助類而且微軟使用它爲Azure Mobile Services工做。
ASP.NET MVC Boilerplate也使用流行的LESS文件讓CSS變得簡單。
ASP.NET 是複雜的怪獸,會遇到不少魔法字符串,要進行重命名簡直能夠說是異常噩夢。有不少處理此類問題的方法,不過性能都不佳。ASP.NET MVC Boilerplate普遍應用常量保持可維護性和性能之間的平衡。
Atom 1.0默認包含。選擇Atom而非RSS由於它是更新更好的規範。PubSubHubbub 0.4 被內建支持,容許你推送種子更新給訂閱者。
有不少實現搜索的方法。ASP.NET MVC Boilerplate包含搜索特性,但讓你自由選擇你的實現方式。它也實現了Open Search XML。請閱讀Hanselman討論此特性於此。
Open Graph 元標籤和Twitter Card 元標籤被默認包含。不止如此,ASP.NET MVC Boilerplate包括全文檔化的HTML幫助類容許你輕鬆生成Open Graph對象或者Twitter Card知足標籤的簡單和正確性。
選擇以下選項得到:
git clone https://github.com/RehanSaeed/ASP.NET-MVC-Boilerplate
你能夠在這裏找到每一個版本的發佈說明,還有在這裏找到新特性和即將到來的加強。
做者試圖建立Visual Studio部署程序包 (VSIX) 而且在Visual Studio擴展中列出項目模版。爲了使用模版,你只須要輕鬆選擇ASP.NET MVC Boilerplate從 在線模版,在文件à新建項目à在線模版菜單。難以置信的,其實建立起來很複雜。做者找到了 Export Template Wizard Visual Studio擴展。
同時建立不一樣的Visual Studio模版包括ASP.NET Web API和OAuth認證。