国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

Orchard路由隨記(一)

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

Orchard路由隨記(一)

對于Orchard來說,個人以為要真正理解Orchard,必須理解其路由工作方式。一、Orchard的自定義路由由三種類型組成1、分發類: HubRoute:其功能是按租戶篩選出當前訪問租戶的路由2、容器類: shellRoute:其功能是按當前租戶路由,如果此時沒有其它路由,路由數據處理后,交由MVC的路由處理3、插件類: 主要是: AliasRoute ,其主要功能是處理別名路由,當然其功能不僅如此。別名路由(如將:locahost/thisisolditem,變成locahost/i)通過保存在數據庫中對照表AliasRecord來工作,此類由Orchard.Alias.Routes加入到路由描述中,在Orchard_Alias_AliasRecord表中查找是否有別名路由存在。不論如何路由,最后都會交由標準的MVC路由管理二、Orchard通過對IRoutePRovider接口掃描,獲取了一組關于RouteDescriptor的列表,并通過RoutePublisher類Publish方法將所有描述轉換為租戶路由 1、按 RouteDescriptor 的先級排列路由; 2、加入合理的域; 3、根據描述生成ShellRoute類型的路由; 4、第3步中,如果有插件路由,則ShellRoute類路由將其包裝(圖2); 5、將ShellRoute類路由包裝在HubRoute類路由中,即除原如路由(MVC原生路由),其它路由均包裝進了 HubRoute; 6、是后形成的可能是(插件類不一定啟用)如下: HubRoute(shellRoute(AliasRoute(MvcRouteHandler)));三、由第二條及多租戶運行時不難理解,Orchard訪問情形 1、用戶訪問; 2、創建Host如果還沒有的話; 3、形成租戶設置列表; 4、通過URL來判斷應該使用哪一個租戶設置; 5、根據當前租戶,使用HubRoute路由,篩選出當前租戶路由,進行匹配; 6、找到合適的控制器執行操作;

四、以下是運行期,真實的數據截圖

  1、路由集合(可見所有路由均被HubRoute包裹)

2、shellRoute


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 高尔夫| 万全县| 图们市| 宝兴县| 镇平县| 丁青县| 刚察县| 游戏| 二连浩特市| 扶绥县| 榆树市| 鹰潭市| 南雄市| 得荣县| 梧州市| 岗巴县| 紫金县| 九龙县| 安庆市| 建阳市| 黄龙县| 南华县| 沈阳市| 崇阳县| 兴安盟| 宝兴县| 麻城市| 杂多县| 含山县| 吴川市| 武夷山市| 宁远县| 当雄县| 郯城县| 宾阳县| 新田县| 绵竹市| 淮阳县| 四川省| 思茅市| 蒲江县|