1..NET Core基本介紹 a 作為一個.NET的開發者,在以前的開發中,我們開發的項目基本都是部署在windows伺服器上,但是在windows伺服器上的話某些比較流行的解決訪問量的方案基本都是先出現在linux上,而後才能遷移出現windows上,而且效率處理方面也不再一個級別。曾經讓.NE ...
1..NET Core基本介紹
a 作為一個.NET的開發者,在以前的開發中,我們開發的項目基本都是部署在windows伺服器上,但是在windows伺服器上的話某些比較流行的解決訪問量的方案基本都是先出現在linux上,而後才能遷移出現windows上,而且效率處理方面也不再一個級別。曾經讓.NET的開發者非常無奈可又不得不遵循,隨著時間的推移,後來第三方公司開發了.NET可以依賴跨平臺的技術Mono,我們可以簡單地對其開發的程式實現跨平臺。關於Mono部署ASP.NET跨平臺的技術我曾經寫過一篇博客,大家可以研究之(http://www.cnblogs.com/hanyinglong/p/5456757.html),後來微軟換了新的首席執行官(納德拉),微軟整個公司都開始轉型實現面向服務化的公司,而不是局限在以前故步自封的地步中徘徊不前,而他的出現也推進了跨平臺的實現,在微軟將第三方公司的Mono收購之後,微軟創舉性的推出來ASP.NET Core跨平臺的技術,它的出現順應了現在開源的大趨勢,也使的大部分的程式員對這門技術充滿了期待和期望,所謂工欲善其事不必先利其器,下麵我們簡單來說一下ASP.NET Core吧。 b ASP.NET Core是一個新的開源和跨平臺的框架,用於構建互聯網的架構,ASP.NET Core應用可運行於.NET FrameWork之上,它對原來的ASP.NET MVC和WebAPI進行了重構,使其可以在windows、Mac、Linux上跨平臺開發和運行你的ASP.NET Core引用。 c .NET Core為了跨平臺在架構上做了一些改變,這些改變在下麵我們就能夠感覺到,他不在依賴於System.Web.dll,而是都基於顆粒化的包實現,我們在project.json中就可以看到他的引用,(在最新版的.NET Core下已經將project.json轉換成msbuild來實現),等穩定版出來之後我將會對這塊也去做一個瞭解,並且升級項目。 d .NET Core官方網站:https://www.microsoft.com/net/core e 在.NET Core快速發展的時候,我們也開始學習使用.NET Core開發Web引用,當然我們的開發只是為了學習ASP.NET Core而去開發的商城,在開發這個商城中我們學到了很多東西,在這裡真心的感謝小伙伴們和我一起開發測試和完善(開發是我和波波以及阿偉,測試俊濤,前端KeyBaby(非專業))。我們的網址地址如下:http://www.chuxinm.com/ ,下麵我就簡單介紹一下這個項目中所使用的東西以及架構,後面如果有機會我將會繼續闡述本項目中的技術點2.初心源商城項目框架結構
a ASP.NET Core是一個全新的框架,我們在使用Visual Studio 2015創建.NET Core項目如下圖所示,我們在創建的時候選擇一個空的項目架構之後,然後在空的項目架構基礎上在進行開發。b 當項目創建完成之後,我們發現項目文件夾的依賴和以前的只有一點不同,如下所示:大家基本都能夠理解這些文件夾下的信息,如圖所示,下麵我對系統架構做一個簡單的介紹 b.1 Repository解決方案文件夾下的介面和實現類庫為倉儲,主要實現的功能就是對資料庫進行基本操作的封裝(增刪改查)以及擴展的操作資料庫實現。 b.2 Service解決方案文件夾下的介面和實現類庫為服務,主要實現的功能就是對業務功能的封裝,所有的業務功能都在這一層,不允許在倉儲和控制器中處理業務,為了以後更方便的開放介面,如下圖所示: b.3 Pls.Entity類庫是實體類庫,所有生成資料庫的類庫以及映射文件都在此類庫下麵,用於生成資料庫(codefirst),以及介面的接收參數和相應參數實體都在其此類庫下。 b.4 Pls.UnitOfWor類庫為工作單元的實現,主要是簡單封裝了一下工作單元的實現,使其實現統一的事務管理 b.5 Pls.Utils類庫為公共類的實現,主要是簡單封裝了公共類、讀取配置文件、郵件發送、七牛雲的和redis的封裝方法實現。 b.6 ProgrammersLiveShow為主項目,主要是.NET Core的MVC架構,因為現在整個項目前端和後端的管理都是在一個配置文件下,沒有做讀寫分離,所以整個架構就如上圖所示(這裡計劃在後期的時候如果做讀寫分離,我們可以在創建一個ProgrammersLiveShowWebApi的項目提供服務)。