亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

分享我對 ASP.NET vNext 的一些感受,也許多年回過頭看 So Easy!

2019-11-17 01:35:03
字體:
來源:轉載
供稿:網友

分享我對 asp.net vNext 的一些感受,也許多年回過頭看 So Easy!

寫在前面

閱讀目錄:

  • Visual Studio "14" CTP
  • 關于 ASP.NET vNext
  • ASP.NET vNext 實踐
  • 后記

  ASP.NET vNext 發布已經過去了一個多月的時間,發布詳情請訪問:振奮人心吶!關于下一代.NET——ASP.NET vNext 的更多說明,當時看這完篇新聞的第一感覺就像文章標題一樣“振奮人心”,其實每個人都有自己的感受,對于我來說,ASP.NET vNext 最大的特性就是跨平臺(基于 Mono 運行時),試想下:作為.NET程序員,終于不被java或C++程序員挑自己的短板,確實是蠻振奮人心的。當然,除了跨平臺,使用 Roslyn 編譯器動態編譯(修改源代碼,刷新頁面即可)、云優先(Cloud First)、開源等等特性也是蠻重要的。

  以下內容,只是一些個人看法,僅供參考學習,也歡迎討論指教。

Visual Studio "14" CTP

  Visual Studio "14" CTP(Community Technology PReviews)是下一代 Visual Studio 的社區預覽版,我個人認為 Visual Studio "14" CTP(以下簡稱:VS 14 CTP) 就是為 ASP.NET vNext 而量身定做的,當然也包含了其他模塊,比如:Store Apps、Cloud等等,以下是關于VS 14 CTP 的版本描述:

CTPs are provided for testing and feedback purposes only. CTPs are unsupported, English-only releases. They are not subject to final validation and are not intended for use on production computers, or to create production code.Installing a CTP release will place a computer in an unsupported state. For that reason, we recommend only installing CTP releases in a virtual machine, or on a computer that is available for reformatting.Currently, Visual Studio "14" CTPs have known compatibility issues with previous releases of Visual Studio and should not be installed side-by-side on the same computer.

  從版本中可以看出,VS 14 CTP 僅用于測試和反饋,只提供英文版本,而且安裝VS 14 CTP 會和已有的Visual Studio 版本沖突,也就是說安裝VS 14 CTP 要把電腦中Visual Studio 其他版本卸載,才能進行安裝。

  至于“installed side-by-side on the same computer”,因為是先安裝的 VS 14 CTP,再安裝的 Visual Studio 其他版本,暫時沒發現異常情況。

  VS 14 CTP 創建ASP.NET vNext 項目模塊:

  VS 14 CTP 下載地址:

  • Web 版:http://go.microsoft.com/fwlink/?LinkId=399011
  • ISO 版:http://go.microsoft.com/fwlink/?LinkId=399010

關于 ASP.NET vNext

  ASP.NET vNext 的發布文章稱其為.NET下一代,其實我個人覺得并不準確,ASP.NET vNext 就像其名字一樣,應該是 ASP.NET 的下一代版本。ASP.NET vNext 代表著.NET的未來的發展方向,比如說跨平臺、開源等,也就是 vNext。關于 ASP.NET vNext,園中也有幾位大神寫過幾篇介紹的文章,以下是個人整理關于 ASP.NET vNext 的一些特性(更新時間為6月3日):

  • MVC、 Web API 和 Web Pages合并成一個框架,稱為 MVC 6。新的框架使用一組通用的抽象為路由、 行為選擇、 篩選器、 模型綁定等等。

  • MVC 6 并不依賴于 System.Web,是一個更精簡的框架,用更快的啟動時間和內存占用較低(也就是“低內存消耗”以及“高吞吐量”)。

  • ASP.NET vNext 應用程序可以使用云優化(Cloud-Optimized).NET Framework。大約 11 M的大小相比于 200 M的完整的框架,也是組成的 NuGet 包的集合(云優化的功勞)。

  • 云優化框架的減少使實際部署的應用程序框架:

    • 在同一臺服務器上,你可以使用不同版本的 Framework 運行應用程序。
    • 你的應用程序均從服務器上的架構更改,絕緣。
    • 你可以為每個應用程序的 Framework 更新自己的時間表。
    • 當你部署應用造成開發機器上的 Framework 修補程序級別和應用服務器之間不匹配的時候,不會出現任何錯誤(也就是“絕緣”的意思)。
  • 提供云優化 Framework 的 NuGet 包,可實現以下目標:

    • 按需加載,不必要的部分不會加載到應用程序中。
    • 在 Framework 中,由于每個部分可以獨立更新,微軟可以將更新變的更快。
  • ASP.NET vNext 與 Host 無關。你可以承載你的應用程序在 IIS 中,或自托管在一個自定義的過程(web API 2 和 SignalR 2 已經支持自托管,ASP.NET vNext 也會給 MVC 帶來同樣的功能)。

  • 支持依賴注入(也可以使用自己的 IoC 容器來注冊依賴項)。

  • ASP.NET vNext 使用 Roslyn 編譯器動態編譯代碼。你可以編輯一個代碼文件,刷新瀏覽器,并看到所做的更改,并沒有重建項目。除了簡化開發過程,動態代碼編譯在現在變得可能,如在 Visual Studio Online ("Monaco") 進行代碼編寫,你可以選擇你自己的編輯器和工具。

  • ASP.NET vNext 開放源代碼。

  • ASP.NET vNext 跨平臺。

  .NET未來構想圖,對于 ASP.NET vNext 來說,可以看出尤其側重于云優化-Cloud Optimized,包含高吞吐量、低內存消耗、并行執行和跨平臺:

  ASP.NET vNext 成員圖:

  從上圖可以更直觀的看出 ASP.NET vNext 所涵蓋的東西,這樣的統一管理,帶給編程人員好處是很多的,比如:一路由系統、 一個模型綁定系統、 一個篩選器管道等,也可以完美的從 Web Pages 過渡到 MVC。

  .NET vNext 和 .NET vNext -云優化(包含模塊)示意圖:

  ASP.NET vNext 云優化示意圖:

  代碼到 Web 服務器示意圖,”快速迭代式開發“,即修改代碼刷新瀏覽器,接近實時,也可以實現”云編輯“功能:

  ASP.NET vNext 跨平臺示意圖:

ASP.NET vNext 實踐

  關于 ASP.NET vNext 的實踐,MSDN 已經更新了"Music Store"(音樂商店)項目,感興趣的朋友可以參考練習下,下面做的ASP.NET vNext 簡單示例,只是個人的學習記錄,方面以后自己查看,園友們可以直接略過。

  首先打開 VS 14 CTP,新建 ASP.NET vNext 項目。

  ASP.NET vNext 主要包含三類模板

  • ASP.NET vNext Web application:用于創建 Web 應用程序。
  • ASP.NET vNext Class Library:用于創建云優化類庫項目。
  • ASP.NET vNext Console Application:用于創建控制臺應用程序。

  新建 vNextDemo 項目后,發現目錄結構非常簡單.

  共包含兩個項目文件:

  • project.json:配置應用程序所有依賴項。
  • Startup.cs:程序啟動類。

project.json

  在 ASP.NET vNext 中看不到我們常用的 config 文件了,取而代之的是 json(或是其他文件類型)配置文件,例如用來配置連接字符串的 config.json 文件:

1 {2     "Data": {3         "DefaultConnection": { 4             "ConnectionString": "Server=(localdb)//mssqllocaldb;Database=aspnetvnext-49333c44-d261-476e-b40a-3d9b759fc2da;Trusted_Connection=True;Mult

  貼一段 project.json 示例配置:

 1 { 2     "dependencies": { 3         "Helios": "0.1-alpha-build-0585", 4         "Microsoft.AspNet.Mvc": "0.1-alpha-build-1268", 5         "Microsoft.AspNet.Identity.Entity": "0.1-alpha-build-1059", 6         "Microsoft.AspNet.Identity.Security": "0.1-alpha-build-1059", 7         "Microsoft.AspNet.Security.Cookies": "0.1-alpha-build-0506", 8         "Microsoft.AspNet.Server.WebListener": "0.1-alpha-build-0520", 9         "Microsoft.AspNet.StaticFiles": "0.1-alpha-build-0443",10         "Microsoft.Data.Entity": "0.1-alpha-build-0863",11         "Microsoft.Data.Entity.SqlServer": "0.1-alpha-build-0863",12         "Microsoft.Framework.ConfigurationModel.Json": "0.1-alpha-build-0233",13         "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0-alpha"14     },15     "commands": {16         /* Change the port number when you are self hosting this application */17         "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5000"18     },19     "configurations": {20         "net45": {21             "dependencies": {22                 "System.Data": "",23                 "System.ComponentModel.DataAnnotations": ""24             }25         },26         "k10": {27         }28     }29 }

  在 dependencies(依賴關系)節點,看起來有點像 NuGet 的 packages.config 配置包,但是不同之處是,以前版本中會直接添加這項項的引用,而且還取決于這些包,現在都是動態配置,比如刪除一個引用,它會自動刪除所依賴項,如果在 project.json 中未使用,也會動態的移除掉。

  除了 dependencies,還包含 commands(命令)和 configurations(配置)節點,commands 中的”web“配置表示,應用程序默認啟動地址,configurations 中的”net45“表示完整的桌面應用程序,”k10“表示云優化。

Startup.cs

  Startup.cs 是整個應用程序的啟動類,有點類似于我們常用的 Global.asax,貼一段示例代碼(ASP.NET vNext Web Application):

 1 using System; 2 using Microsoft.AspNet.Builder; 3 using Microsoft.AspNet.Http; 4 using Microsoft.AspNet.Identity; 5 using Microsoft.AspNet.Identity.Security; 6 using Microsoft.AspNet.Routing; 7 using Microsoft.AspNet.Security.Cookies; 8 using Microsoft.Data.Entity; 9 using Microsoft.Framework.ConfigurationModel;10 using Microsoft.Framework.DependencyInjection;11 using WebApplication1.Models;12 13 namespace WebApplication114 {15     public class Startup16     {17         public void Configure(IBuilder app)18         {19             // Enable Browser Link support20             app.UseBrowserLink();21 22             // Setup configuration sources23             var configuration = new Configuration();24             configuration.AddJsonFile("config.json");25             configuration.AddEnvironmentVariables();26 27             // Set up application services28             app.UseServices(services =>29
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91亚洲永久免费精品| 日韩美女激情视频| 2019av中文字幕| 欧美成人中文字幕| 欧美精品videossex性护士| 欧美综合第一页| 欧美成人免费在线观看| 自拍偷拍免费精品| 一色桃子一区二区| 日韩中文字幕第一页| 丝袜美腿精品国产二区| 国产热re99久久6国产精品| 高清一区二区三区四区五区| 成人高清视频观看www| 精品亚洲男同gayvideo网站| 中国人与牲禽动交精品| 亚洲人成五月天| 亚洲国产另类 国产精品国产免费| 欧美性猛交xxxx乱大交极品| 日韩电影大片中文字幕| 国产综合久久久久久| 国产v综合v亚洲欧美久久| 精品久久久久久久久久久久久久| 久久精品国产欧美亚洲人人爽| 久久天天躁夜夜躁狠狠躁2022| 亚洲美女又黄又爽在线观看| 久久不射热爱视频精品| 国产精品日韩在线播放| 国内成人精品一区| 精品国产视频在线| 日韩在线视频播放| 日韩高清a**址| 91在线精品视频| 欧美亚洲日本黄色| 欧美亚洲免费电影| 精品人伦一区二区三区蜜桃网站| 在线电影欧美日韩一区二区私密| 久久精品99久久香蕉国产色戒| 日本欧美精品在线| 欧美一区亚洲一区| 狠狠躁夜夜躁久久躁别揉| 欧美国产日本高清在线| 亚洲国产精品大全| 亚洲福利视频二区| 最近2019中文字幕mv免费看| 亚洲jizzjizz日本少妇| 精品福利免费观看| 亚洲精品黄网在线观看| 狠狠综合久久av一区二区小说| 久久久久久久久网站| 国产成人精品日本亚洲| 欧美夜福利tv在线| 黑人狂躁日本妞一区二区三区| 成人午夜一级二级三级| 92看片淫黄大片欧美看国产片| 日韩av手机在线看| 日韩电影第一页| 97超级碰碰人国产在线观看| 久久在线精品视频| 欧美巨猛xxxx猛交黑人97人| 欧美黑人巨大精品一区二区| 九色成人免费视频| 性色av一区二区三区在线观看| 亚洲综合精品一区二区| 欧美日韩国产在线| 欧美在线亚洲一区| 亚洲国产欧美在线成人app| 欧美大码xxxx| 日韩免费看的电影电视剧大全| 国产精品久久久久av免费| 国产精品九九九| 欧美日韩国产中文精品字幕自在自线| 91精品国产91久久久久福利| 亚洲国产又黄又爽女人高潮的| 夜夜嗨av色综合久久久综合网| 欧美日韩在线观看视频小说| 欧美视频中文字幕在线| 亚洲天堂男人的天堂| 国产精品一区=区| 国产精品久久97| 黄色精品一区二区| 91精品成人久久| 欧美中文在线观看国产| 成人免费看片视频| 91在线视频九色| www.xxxx精品| 久久国产天堂福利天堂| 98午夜经典影视| 日韩中文字幕网址| 国产欧洲精品视频| www.欧美视频| 亚洲午夜精品久久久久久性色| 久久久久久综合网天天| 日本高清不卡在线| 国产精品久久久久福利| 中日韩美女免费视频网站在线观看| 在线观看中文字幕亚洲| 亚洲精品福利资源站| 久久精品久久久久久| 最新的欧美黄色| 日韩一区二区三区在线播放| 中文字幕精品—区二区| 69av视频在线播放| 色婷婷成人综合| 欧美亚洲国产日韩2020| 欧美日本精品在线| 高潮白浆女日韩av免费看| 亚洲一区二区久久久| 久久久精品一区二区三区| 国产91色在线免费| 乱亲女秽乱长久久久| 欧美激情第99页| 日韩免费在线看| 日本精品视频网站| 成人免费视频97| 日韩亚洲一区二区| 97久久伊人激情网| 91精品视频观看| 国产精品一区二区3区| 亚洲a级在线播放观看| 欧美亚洲国产另类| 欧美激情国产高清| 亚洲精品第一国产综合精品| 日本成人免费在线| 91精品国产91久久久久久久久| 曰本色欧美视频在线| 永久免费毛片在线播放不卡| 亚洲国产精品系列| 91精品国产91久久久久福利| 亚洲美女性生活视频| 亚洲一二在线观看| 欧美影院在线播放| 国产99视频在线观看| 免费不卡在线观看av| 国产精品视频资源| 91精品国产九九九久久久亚洲| 91po在线观看91精品国产性色| 日韩中文娱乐网| 一区二区成人精品| 免费91麻豆精品国产自产在线观看| 26uuu另类亚洲欧美日本老年| 热99精品只有里视频精品| 中日韩美女免费视频网站在线观看| 久久6精品影院| 国产精品入口福利| 国产精品成人av在线| 欧美疯狂xxxx大交乱88av| 国产精品美女久久久久av超清| 国产一区二区在线免费| 欧美激情二区三区| 亚洲视频综合网| 国产精品久久久久久婷婷天堂| 亚洲精品国产精品国自产在线| 一区二区成人精品| 日韩av在线网站| 亚洲三级av在线| 国产成人久久久| 国产一区二区三区视频在线观看| 欧美在线国产精品| 久久久久久久久国产| 日韩精品极品在线观看播放免费视频| 国产成人自拍视频在线观看| 色偷偷88888欧美精品久久久| 成人欧美一区二区三区黑人孕妇|