WCF探索之旅(四)——程序中WCF服务整合

我们在之前的博客已经完成过实例,大家也看到了如何使用WCF服务:

添加服务引用——>输入服务地址——>实例化服务——>调用服务方法

 

那么今天为什么要再次说“程序中WCF服务整合”这个话题?

用过WebService的人都知道,随着服务的增多,管理WebService是一个非常繁重的工作。好了,今天我们的目标来了——让WCF服务变得整齐、有序、易管理!

 

首先,我们建立一个工厂类,这个工厂用来实例化我们的服务。这样做的好处是,所有的服务都是由工厂实例化的。

然后我们要建立一个公共的接口,这个接口继承所有的服务接口。这样做的好处是,所有的服务接口都可以用这个接口来代替。

 

好了,有了这两点,我们就可以利用多态+工厂来统一管理我们的服务了。

 

说了这么多理论,还是以我们程序猿的语言说更明了一些!

1、建立接口类IServices

	namespace <span style="font-family: SimSun; font-size: 10.5pt;">Modules.Interface</span>
	

3、建立代理工厂ServiceProxyFactory 

	namespace Modules.Factory.ServiceProxy
	{
	   
	}

4、建立代理类RealProxy 

	namespace Modules.Factory.ServiceProxy
	{
	}
5 、建立通道工厂 ChannelFactoryCreator

	namespace ICT.RCS.Modules.Factory.ServiceProxy
	{
	    
	}

6、引入工厂dll

要想使用WCF,我们以前是必须添加服务引用,而添加服务引用VS就会自动生成一个APP.CONFIG的配置文件,这个文件中配置了服务的地址以及访问协议等内容。

现在,我们需要将上面的这些内容打包成dll并添加到引用。

7、配置app.config

	<configuration>
		  
	</configuration>

至此,我们的整合已经完成了。我们在需要用服务的地方使用ServiceFactory.GetUserService().AddUser(enUser);即可。不需要引入服务引用,不需要手动实例化,是不是方便了很多,灵活了很多!

 

如果现在有了新的服务需求,我们只需要

1、开发一个新的接口和实现

2、在IService接口中添加继承

3、更新服务

4、程序中直接调用ServiceFactory就可以“点”出它来

 

这篇博客中参考了其他人很多东西,也是一次尝试。如果大家在练习或者使用过程中遇到什么问题,咱们可以一起交流!

 

下一篇博客跟大家一起分享:WCFWebService的异同





评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值