[發明專利]一種基于Autofac支持按需加載的服務管理器的實現方法有效
| 申請號: | 201611145498.6 | 申請日: | 2016-12-13 |
| 公開(公告)號: | CN106775864B | 公開(公告)日: | 2020-04-17 |
| 發明(設計)人: | 王延東 | 申請(專利權)人: | 浪潮通用軟件有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445 |
| 代理公司: | 濟南信達專利事務所有限公司 37100 | 代理人: | 姜明 |
| 地址: | 250100 山東*** | 國省代碼: | 山東;37 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 autofac 支持 加載 服務 管理器 實現 方法 | ||
1.一種基于Autofac支持按需加載的服務管理器的實現方法,其特征在于,基于Autofac解耦框架、服務管理器,實現適合于智能客戶端支持按需加載的服務管理器,其實現過程為:
一、首先配置服務管理器的服務接口-實現類,使得編程時,不同模塊間程序依賴接口,不直接依賴具體的實現類;
二、然后動態注冊服務及解析實例:加載服務管理器配置項,判斷服務管理器的服務類型是否已注冊;如果已注冊,或未注冊并進行注冊完成后,調用Autofac的Resolve方法獲取對象實例;
步驟一中配置內容包括對外提供的服務接口類型、接口實現類的類型及對象實例共享狀態定義三部分,同時配置內容還包括可選屬性,該可選屬性包括配置的名稱;
在步驟二中,服務管理器首次加載時,遍歷Autofac的配置文件,將所有配置項加載到內存中,且該過程不加載程序類型,只作為字符串項待查詢;
當服務類型未在Autofac容器內注冊時,則服務管理器根據需要,在Autofac容器內注冊相關服務類型;
服務管理器根據需要解析的服務類型,從加載的服務管理器配置項中查詢是否存在相關名稱,如果存在,則繼續注冊過程,否則拋出異常;
將配置項加載成對象類型,實例化一個全新的Autofac Container對象,然后將類型注冊到Container中,最后將原有的Container實例強制更新到新創建的Container中。
2.根據權利要求1所述的一種基于Autofac支持按需加載的服務管理器的實現方法,其特征在于,判斷類型是否已注冊是指當外部程序每次調用服務管理器首次獲取對象實例時,服務管理器先檢測其服務類型是否在Autofac容器內注冊。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浪潮通用軟件有限公司,未經浪潮通用軟件有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201611145498.6/1.html,轉載請聲明來源鉆瓜專利網。





