[发明专利]一种基于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.vipzhuanli.com/pat/books/201611145498.6/1.html,转载请声明来源钻瓜专利网。