欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Orchard架構(gòu)的簡(jiǎn)單介紹-創(chuàng)新互聯(lián)

這篇文章主要講解了“Orchard架構(gòu)的簡(jiǎn)單介紹”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Orchard架構(gòu)的簡(jiǎn)單介紹”吧!

成都創(chuàng)新互聯(lián)公司一直通過網(wǎng)站建設(shè)和網(wǎng)站營(yíng)銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、移動(dòng)互聯(lián)產(chǎn)品、成都全網(wǎng)營(yíng)銷服務(wù)為核心業(yè)務(wù)。十余年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡(jiǎn)單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。

  對(duì)于我們來說,更重要的是學(xué)習(xí)Orchard是如何架構(gòu)的,如果我們自己編寫一個(gè)類似應(yīng)用該如何做。今天有空再次看看 Orchard的其它內(nèi)容,本篇介紹一下Orchard的一些架構(gòu)方面的內(nèi)容。Orchard內(nèi)容較多,現(xiàn)在還只是了解一些皮毛,還有待進(jìn)一步學(xué)習(xí),放上 來權(quán)當(dāng)隨筆記錄。

  Architecture

  Orchard foundations

  Orchard構(gòu)建在已有的一些框架和類庫之上,下面是一些主要內(nèi)容:

  ASP.NET MVC:這是微軟開源的基于MVC的Web開發(fā)框架

  NHibernate:NHibernate 是一個(gè)ORM工具,從Hibernate演化而來

  Autofac: 一個(gè)IoC container。Orchard大量使用依賴注入

  Castle Dynamic Proxy: Castle 是.Net中很早就出現(xiàn)的一個(gè)開源項(xiàng)目,Castle Dynamic Proxy是一個(gè)生產(chǎn)動(dòng)態(tài)代理的東東

  Orchard Framework

  Orchard framework處于Orchard的最底層,你可以把它看成是Orchard的基礎(chǔ)類庫。

  Orchard的啟動(dòng)

  當(dāng)Orchard web應(yīng)用啟動(dòng)后,生成一個(gè)應(yīng)用域級(jí)別的單例的Orchard Host(DefaultOrchardHost)

  View Code

  public class MvcApplication : HttpApplication {protected void Application_Start() {_host = OrchardStarter.CreateHost(MvcSingletons);_host.Initialize();}public static class OrchardStarter {public static IOrchardHost CreateHost(Action registrations) {var container = CreateHostContainer(registrations);return container.Resolve();}public static IContainer CreateHostContainer(Action registrations) {……builder.RegisterType().As().As().SingleInstance();}}

  DefaultOrchardHost負(fù)責(zé)生成Shell,其中引入了一些類:ShellContextFactory、ExtensionManager、ShellSettingsManager、CompositionStrategy、ShellBlueprint,現(xiàn)在就不細(xì)說了,因?yàn)槲疫€沒有怎么看

  V  public class DefaultOrchardHost : IOrchardHost, IShellSettingsManagerEventHandler, IShellDescriptorManagerEventHandler {void IOrchardHost.Initialize() {BuildCurrent();}IEnumerable BuildCurrent() {if (_current == null) {lock (_syncLock) {if (_current == null) {SetupExtensions();MonitorExtensions();_current = CreateAndActivate().ToArray();}}}return _current;}IEnumerable CreateAndActivate() {var allSettings = _shellSettingsManager.LoadSettings();if (allSettings.Any()) {return allSettings.Select(settings => {var context = CreateShellContext(settings);ActivateShell(context);return context;});}……}ShellContext CreateShellContext(ShellSettings settings) {if (settings.State.CurrentState == TenantState.State.Uninitialized) {Logger.Debug("Creating shell context for tenant {0} setup", settings.Name);return _shellContextFactory.CreateSetupContext(settings);}Logger.Debug("Creating shell context for tenant {0}", settings.Name);return _shellContextFactory.CreateShellContext(settings);}}

  Dependency injection

  在Orchard中生成依賴項(xiàng)的標(biāo)準(zhǔn)方法是實(shí)現(xiàn)IDependency 或者其繼承接口。

  對(duì)于依賴有三種可能的范圍,具體講解等待后期分析:

  o Request:每次HTTP請(qǐng)求都創(chuàng)建一個(gè)新的實(shí)例,請(qǐng)求處理有銷毀。這種對(duì)象實(shí)現(xiàn)IDependency

  o Object:實(shí)現(xiàn)ITransientDependency,實(shí)例不共享

  o Shell: 實(shí)現(xiàn)ISingletonDependency,單例

  ASP.NET MVC

  Orchard是構(gòu)建在ASP.NET MVC 之上的一個(gè)框架,但是為了增加主題、多租戶等額外功能而也挺入了額外的一些層和概念。例如,當(dāng)需要一個(gè)特定視圖時(shí)引入LayoutAwareViewEngine。嚴(yán)格的說,這不是一個(gè)新的視圖引擎,因?yàn)樗⒉魂P(guān)心實(shí)際繪制,而只是包含一些查找當(dāng)前主題下正確視圖的一些邏輯功能,然后委托給實(shí)際的視圖引擎去展現(xiàn)。

  Types, Parts and Fields

  Orchard能夠處理任意內(nèi)容類型(content types),內(nèi)容類型又是由內(nèi)容Parts組成,例如一個(gè)blog、video都可能有地址、回復(fù)、tag等,為了重用可以把回復(fù)作為一個(gè)part存在于一個(gè)module中,這樣只需要生成一次就行了。

  Parts本身又有自己的屬性和內(nèi)容字段。內(nèi)容字段(Fields)也是一個(gè)重用的概念,它比parts更細(xì)粒度,它可以使用在多個(gè)part中。

  Content Manager

  所有的內(nèi)容通過ContentManager 對(duì)象進(jìn)行訪問,ContentManager有查詢內(nèi)容存儲(chǔ)、版本內(nèi)容和管理發(fā)布狀態(tài)等功能

  Transactions 

  Orchard自動(dòng)為每次HTTP請(qǐng)求生成一個(gè)事務(wù)

  Event bus

  Commands

  很多在Orchard中可以執(zhí)行的動(dòng)作都可以通過命令行形式執(zhí)行,這些Command都需要實(shí)現(xiàn),命令方法使用CommandName 屬性標(biāo)識(shí)

  Search and indexing

  默認(rèn)使用Lucene 進(jìn)行索引和查詢

  Caching

  基于ASP.NET cache之上的緩存,Orchard緩存API主要好處是對(duì)每個(gè)租戶的透明性

  File systems

  Orchard的文件系統(tǒng)是抽象概念的,可以是直接的物理文件,也可以是部署在云端的blob storage

  Orchard core

  Orchard.Core 程序集包含Orchard必須使用到的一些模塊,例如feeds、navigation和routable

  Modules

  Orchard默認(rèn)發(fā)布一些內(nèi)建的模塊,例如blog等。一個(gè)模塊只是一個(gè)包含manifest.txt 文件的一個(gè)ASP.NET MVC area 文件。

感謝各位的閱讀,以上就是“Orchard架構(gòu)的簡(jiǎn)單介紹”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Orchard架構(gòu)的簡(jiǎn)單介紹這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

網(wǎng)頁名稱:Orchard架構(gòu)的簡(jiǎn)單介紹-創(chuàng)新互聯(lián)
地址分享:http://aaarwkj.com/article2/gcsic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、動(dòng)態(tài)網(wǎng)站、企業(yè)建站、標(biāo)簽優(yōu)化全網(wǎng)營(yíng)銷推廣、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)
亚洲国产精品中文字幕久久| 免费在线免费观看av| 欧美日韩黄色的三级视频| 美女诱惑丝袜国产国产av丝袜| 曰本真人性做爰视频免费| 91精品国产欧美在线| 国产激情久久久久久久久久久| 亚洲偷拍自拍在线观看| 午夜精品一区二区三区在线视频| 欧美一区二区三区中文字幕| 久久91亚洲精品中文字幕| 午夜精品四季av日日骚| 91在线看片国产免费观看| 密桃精品一区二区三区在线观看| 欧美色视频综合在线观看| 亚洲黄色av乱码在线观看| 日韩不卡的一区免费视频| 成人国产精品2021| 日进去了啊内射视频| 日木av中文字幕女女同性| 欧美日韩亚洲国产极品| 国产老熟女高潮一区二区| 中文字幕成人资源网站| 自拍偷拍欧美日韩第一页| 亚洲熟女少妇淫语高潮| 蜜桃av网站免费观看| 精品午夜人妻一区二区| 亚洲精品一区二区激情| 色呦呦中文字幕在线播放| 日本高清不卡免费在线观看视频一二三区 | 天天日天天天干夜夜操| 后入视频国产在线观看| 未满18禁止观看在线| 精品一区二区亚洲精品| 日本免费一区中文字幕| 日韩精品伦理中文字幕| 欧美日韩国产av一区| 成年人午夜看片免费网站| 中文字幕欧美人妻在线| 丰满人妻中出av在线| 在线看黄色片播放器日韩|