跟我一起學(xué)習(xí)ASP.NET 4.5 MVC4.0(一)
本文關(guān)鍵詞:MVC,由筆耕文化傳播整理發(fā)布。
跟我一起學(xué)習(xí)ASP.NET 4.5 MVC4.0(一)
由于上面一個項(xiàng)目使用的是ASP.NET4.0 MVC3.0,在招人的時候發(fā)現(xiàn)很多人有聽說過MVC,但是卻是沒用過,,對MVC也只是一知半解,最近想給團(tuán)隊(duì)成員做一個系統(tǒng)的解說,讓大家都可以學(xué)習(xí)一下ASP.NET MVC3.0。但是由于前兩天安裝了Windows8和VS11,所以寫些關(guān)于ASP.NET 4.5和MVC4.0的一些東東,順便復(fù)習(xí)一下MVC3.0。這里涉及的有些東西都是MVC3.0的,有些會和MVC4.0進(jìn)行對照,由于我也是剛剛接觸ASP.NET MVC4.0對于它的改進(jìn)也不甚了解,如果錯誤歡迎批評指正。同時也希望大家共同進(jìn)步,最主要的是我的團(tuán)隊(duì)成員能夠更多的理解ASP.NET MVC3.0或MVC4.0的開發(fā)。
首先聲明有關(guān)本系列(暫時計(jì)劃寫系列,希望是比較完整性的文章,但世事難料,不敢保證,(*^__^*))可能有些內(nèi)容翻譯或摘自網(wǎng)絡(luò),如有侵犯你的版權(quán),請聯(lián)系我,我會最快時間內(nèi)進(jìn)行改寫或糾正。閑話不多說,我們來看一下正題,首先當(dāng)然是建立一個MVC項(xiàng)目。打開VS11,可以從Win8開始頁面的Metro程序格中打開,也可以到你的文件夾中尋找,不過我的已經(jīng)把他固定在了任務(wù)欄里了。
這個沒有什么區(qū)別,和VS2010一樣,選擇一下MVC Application就可以了。 和ASP.NET MVC3.0相比,多了幾個項(xiàng)目,一個是WebAPI,Mobile Application,以及Single Page Application。其他的項(xiàng)目我們先不管,選擇Internet Application,由于他使用的是NuGet發(fā)布的所以第一次可能創(chuàng)建項(xiàng)目會有點(diǎn)慢,不過沒關(guān)系,以后就不會了,第一次耐心點(diǎn)。
在VS11中,默認(rèn)的調(diào)試服務(wù)器使用的時IIS Express,這個比那個虛擬的好用多了,因?yàn)樗俣瓤於嗔,只是個人感覺,不知道各位達(dá)人是否有同感呢?我們首先來看一下允許情況,用調(diào)試按鈕,可以看到調(diào)試按鈕下面多了好多個選項(xiàng)?包括你機(jī)子所裝的所有瀏覽器和Page Inspector(相當(dāng)好用的調(diào)試工具)。
這里我們選擇使用頁面調(diào)試工具,初次使用我們需要激活一下,其實(shí)也就是設(shè)置一下Web.config的配置節(jié)點(diǎn),如下圖所示,具體修改就是激活一下設(shè)計(jì)時,可以打開web.config看看就知道了。
運(yùn)行結(jié)果如下圖所示,圖中也指出了各個窗口相關(guān)的內(nèi)容,讓我們可以了解一下頁面調(diào)試機(jī)制和相關(guān)功能,從圖中可以了解到,屏幕大是有好處的,如果有條件,可以使用兩個屏幕,在win8中很容易設(shè)置,右邊中的“設(shè)備”就有第二個屏幕的選項(xiàng)。
相比ASP.NET MVC3.0在4.0中有很多的改變,首先JQuery以及其他的一些腳本版本進(jìn)行了升級,當(dāng)然也移除了微軟自己的AJAX庫。估計(jì)是用的人太少了吧,在頁面上多了個“聯(lián)系我們”,其他沒什么改變。但是在代碼中有很多的變化,值得我們研究研究,首先讓我們來打開Global.asax的代碼,可以看到改變了不少。 1 using System;
2 using System.Collections.Generic;
3 using System.Configuration;
4 using System.Data.Entity;
5 using System.Data.Entity.Infrastructure;
6 using System.Linq;
7 using System.Web;
8 using System.Web.Http;
9 using System.Web.MVC;
10 using System.Web.Optimization;
11 using System.Web.Routing;
12
13 namespace MVC4.WebSite
14 {
15 // Note: For instructions on enabling IIS6 or IIS7 classic mode,
17
18 public class MVCApplication : System.Web.HttpApplication
19 {
20 public static void RegisterGlobalFilters(GlobalFilterCollection filters)
21 {
22 filters.Add(new HandleErrorAttribute());
23 }
24
25 public static void RegisterRoutes(RouteCollection routes)
26 {
);
28
29 routes.MapHttpRoute(
,
,
32 defaults: new { id = RouteParameter.Optional }
33 );
34
35 routes.MapRoute(
,
,
, action = , id = UrlParameter.Optional }
39 );
40 }
41
42 protected void Application_Start()
43 {
44 AreaRegistration.RegisterAllAreas();
45
46 // Use LocalDB for Entity Framework by default
);
48
49 RegisterGlobalFilters(GlobalFilters.Filters);
50 RegisterRoutes(RouteTable.Routes);
51
52 BundleTable.Bundles.RegisterTemplateBundles();
53 }
54 }
55 }
其中多了WebAPI節(jié)點(diǎn)的路由配置,這是給WebAPI使用的,其中一個可選項(xiàng)的枚舉也不同,后面的章節(jié)我們會單獨(dú)來學(xué)習(xí)WebAPI相關(guān)內(nèi)容,這里就不多說了。在應(yīng)用程序啟動的方法中,默認(rèn)的配置了Entity Framework數(shù)據(jù)庫配置實(shí)例,這個框架在我們的項(xiàng)目中沒有使用到,因?yàn)橹拔衣犝f性能不能很好。而且他的編程習(xí)慣也不適合我,所以就沒用他,如果有人用過他來開發(fā)企業(yè)網(wǎng)站或軟件可以交流交流,傳授一下經(jīng)驗(yàn)。最后一個不同的就是BundleTable的代碼,根據(jù)我的了解這個主要是用于WebAPI的優(yōu)化,也應(yīng)該屬于MVC4.0的新特性,主要是WebAPI在HTTP傳輸JavaScript和CSS的時候移除一些不必要的空白和字符和一些最佳優(yōu)化的性能提升。從他所在的程序集名稱也可以看出是屬于性能優(yōu)化方面的,而且是MVC4.0的時候才有的。
打開布局頁面我們會發(fā)現(xiàn),URL路徑轉(zhuǎn)換也改變了使用的是System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl方法,而不是使用Url.Content了,當(dāng)然也可以使用,可能那個性能會比較優(yōu)化,這個需要等待進(jìn)一步的證實(shí)。如果我們修改了Page Inspector所涉及的頁面內(nèi)容,他就會有提示是否需要刷新流量頁面,點(diǎn)擊有就可以對其直接顯示,如下圖。
還有一大改進(jìn)就是已經(jīng)使用HTML5來進(jìn)行布局了,一般使用FireFox和Chrome的人都會與時俱進(jìn),可是IE6的用戶量也是相當(dāng)龐大的一個數(shù)據(jù)量,所以我們希望"Modernizr"能夠幫助我們使用HTML5的威力。這一篇文章主要是對ASP.NET MVC4.0一個認(rèn)識,以及對VS11的一個認(rèn)識,雖然VS11得界面很丑,但是功能確實(shí)很先進(jìn)。
posted @
本文關(guān)鍵詞:MVC,由筆耕文化傳播整理發(fā)布。
本文編號:48815
本文鏈接:http://www.lk138.cn/kejilunwen/jisuanjikexuelunwen/48815.html