MVC 5 第二章 MVC5應(yīng)用程序項目結(jié)構(gòu)
單從MVC的字面意思我們便能夠注意到M-模型, View-視圖, Controller-控制器,他們都各自存儲在解決方案下的單獨的文件夾中。除此之外還有很多有用的信息值得我們?nèi)ヌ剿?,廢話少說,首先我們來看一下MVC 5的項目結(jié)構(gòu)。
通過上圖,我們可以清晰地了解到MVC 5應(yīng)用程序的項目結(jié)構(gòu),接下來我們來依次解釋下他們各自的應(yīng)用。
App_Data: 該文件夾主要是包含應(yīng)用程序的本地存儲, 它通常以文件形式(如Microsoft SQL Server數(shù)據(jù)庫文件, XML文件等)包含數(shù)據(jù)存儲。
App_Start: 該文件夾包含應(yīng)用程序的配置邏輯文件, 具體包括BundleConfig.cs, FilterConfig.cs, RouteConfig.cs, Startup.Auth.cs
BundleConfig.cs: 注冊所使用的捆綁的CSS 和 JS文件。
FilterConfig.cs: 注冊外部/全局過濾器,這些過濾器可以被應(yīng)用到每個Action和Controller中去.
RouteConfig.cs: 配置MVC應(yīng)用程序的系統(tǒng)路由路徑。
Startup.Auth.cs: 配置MVC應(yīng)用程序的安全信息,包括Authentication和Authorization配置以及第三方Authentication Provider
Content: 該文件夾被推薦用于存儲靜態(tài)內(nèi)容文件類似CSS 和 (圖片)Images
Controllers:顧名思義,該文件夾用于存儲所有的控制器且控制器必須以"Controller"結(jié)尾。
fonts: 該文件夾用于存儲MVC應(yīng)用程序可能用到的字體文件
Models: 該文件夾用于存儲應(yīng)用程序?qū)嶓w模型類, 實體類可以定義對象以及應(yīng)用程序邏輯。
Scripts: 該文件夾默認存儲ASP.NET Ajax Foundation files和Jquery.主要被用來存儲應(yīng)用程序所支持的腳本(JS)文件.
Views: 該文件夾主要用來存儲MVC應(yīng)用程序所使用的布局文件(.master), 視圖文件(.aspx)以及視圖用戶控件文件(.ascx)
細心的讀者還會注意到Global.asax, Startup.cs(MVC 5應(yīng)用程序新增加的) 以及Web.config.
Gobal.asax:
(摘自MSDN)這里的Global.asax主要是web應(yīng)用程序的全局設(shè)置文件,該文件包含響應(yīng) ASP.NET 或HTTP模塊所引發(fā)的應(yīng)用程序級別和會話級別事件的代碼。Global.asax 文件駐留在 ASP.NET 應(yīng)用程序的根目錄中。運行時,分析 Global.asax 并將其編譯到一個動態(tài)生成的 .NET Framework 類,該類是從HttpApplication基類派生的。配置 ASP.NET,以便自動拒絕對 Global.asax 文件的任何直接的 URL 請求;外部用戶不能下載或查看其中的代碼。Global.asax 文件是可選的。只在希望處理應(yīng)用程序事件或會話事件時,才應(yīng)創(chuàng)建它.
Web.config:
重點介紹下Startup.cs文件:
Startup.cs:
這個文件主要是提供給OWIN(Open Web Interface for .NEt)應(yīng)用程序使用,OWIN的目的是為了解耦服務(wù)器應(yīng)用程序。例如在ASP.NET Identity使用OWIN security, SignalR self hosting使用OWIN hosting等情況下, 我們的MVC應(yīng)用程序都有使用到OWIN, 所以,他們都相應(yīng)的會使用到startup.cs所定義的Startup class. 關(guān)于OWIN的應(yīng)用這里不作詳述,這里提到OWN主要是為了說明Startup.cs文件的使用.
好了,今天的文章就寫到這里,內(nèi)容不算多但是很有條理,結(jié)構(gòu)清晰,希望給學習的朋友們一點啟示吧!通過本章學習,朋友們對MVC應(yīng)用程序的結(jié)構(gòu)應(yīng)該有了比較清晰的認識,下一章我們將介紹MVC應(yīng)用程序開發(fā)的一些知識點(Tips and Tricks).
- 使用ASP.NET.4.5.1+MVC5.0 搭建一個包含 Ninject框架 項目
- ASP.NET MVC5網(wǎng)站開發(fā)項目框架(二)
- Node.js與Sails ~項目結(jié)構(gòu)與Mvc實現(xiàn)及日志機制
- iOS開發(fā)中常見的項目文件與MVC結(jié)構(gòu)優(yōu)化思路解析
- 解讀ASP.NET 5 & MVC6系列教程(3):項目發(fā)布與部署
- Asp.Net MVC3.0如何項目部署到Win7 64位系統(tǒng)
- 解讀ASP.NET 5 & MVC6系列教程(2):初識項目
- 在ASP.NET MVC項目中使用RequireJS庫的用法示例
- Eclipse 使用Maven構(gòu)建SpringMVC項目
- MVC項目結(jié)構(gòu)搭建及單個類的實現(xiàn)學習筆記1
相關(guān)文章
編寫的vs2005水晶報表程序在vs2008下正常使用的一些實現(xiàn)方法
以前用vs2005編寫的WEB程序,現(xiàn)在使用vs2008時總是出現(xiàn)水晶報表的錯誤,不能使用。經(jīng)過本人實踐,總結(jié)一下錯誤原因。2009-09-09ADO.NET 讀取EXCEL的實現(xiàn)代碼((c#))
經(jīng)常需要在數(shù)據(jù)庫與Execl之間互導數(shù)據(jù)。net時代,ADO.NET可以使用使用Microsoft.Jet.OleDb訪問訪問Excel,網(wǎng)上已經(jīng)有很多類似的資源,最典型也是最簡單的可能如下:(asp.net環(huán)境)2012-12-12Asp.net利用JQuery彈出層加載數(shù)據(jù)代碼
最近看QQ空間里面的投票功能很使用。點擊一個鏈接就彈出一個層,然后再加載一些投票信息,旁邊的區(qū)域變成灰色不可用狀態(tài)。其實這不算什么高深的技術(shù),只要在ASP.NET中利用JQuery結(jié)合一般處理程序ASHX即可搞定了。2009-11-11.NET Core 實現(xiàn)微信小程序支付功能(統(tǒng)一下單)
最近公司研發(fā)了幾個電商小程序,還有一個核心的電商直播,只要是電商一般都會涉及到交易信息,離不開支付系統(tǒng),這里我們統(tǒng)一實現(xiàn)小程序的支付流程。感興趣的朋友跟隨小編一起看看吧2019-09-09Asp.net core Web Api配置swagger中文的實現(xiàn)
swagger是一個api文檔自動生動工具,還集成了在線調(diào)試. 可以為項目自動生成接口文檔, 非常的方便快捷,具有一定的參考價值,感興趣的可以了解一下2023-09-09asp.net?web?api2設(shè)置默認啟動登錄頁面的方法
這篇文章主要介紹了asp.net?web?api2設(shè)置默認啟動登錄頁面的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09