我们知道,在WCF中,可以实现许多相应的功能,来帮助我们轻松的解决一些比较复杂的问题。在这里我们就一起来了解一下有关WCF实现SOA的相关方法,以方便我们在实际应用中来获得些帮助。#t#
成都创新互联专注于曲江企业网站建设,响应式网站,商城开发。曲江网站建设公司,为曲江等地区提供建站服务。全流程按需网站建设,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
WCF实现SOA的一个关键问题是,如何将与技术无关的服务转换为CLR。一旦提供了这种转换,WCF的服务设计者与开发者就可以根据自己拥有的CLR的知识,进行WCF面向服务开发。为两者搭建桥梁的是宿主。一个宿主可以包含多个上下文,而在上下文中则可以包含服务实例。特殊的,宿主的上下文也可以为空。
客户端若要调用服务,可以采用代理或通道的方式。这两种方式在很多资料上已经有了详尽的介绍。在这里,我不准备重复。如果需要详细了解甚至掌握着两种方式,当然可以购买Programming WCF Services一书一探究竟。这里我想介绍的是本书中频繁使用的一种简化WCF类库的一个示例,主要是引入泛型来简化以及各种步骤地自动化处理。例如ServiceHost
- public class ServiceHost
: ServiceHost { - public ServiceHost( ) : base(typeof(T)) {}
- public ServiceHost(params string[] baseAddresses) :
base(typeof(T),Convert(baseAddresses)) {}- public ServiceHost(params Uri[] baseAddresses) :
base(typeof(T),baseAddresses) {}- static Uri[]
- Convert(string[] baseAddresses) {
- Converter
convert = delegate(string address)
{ return new Uri(address); };- return Array.ConvertAll(baseAddresses,convert);
- } }
如果是使用ServiceHost类,则托管服务的代码如下所示:
- public static void Main( ) {
- Uri baseAddress = new Uri("http://localhost:8000/");
- ServiceHost host = new ServiceHost(typeof(MyService),baseAddress);
- host.Open( );
- //Can do blocking calls: Application.Run(new MyForm( ));
- host.Close( );
- }
使用ServiceHost类,则可修改为:
- public static void Main( ) {
- Uri baseAddress = new Uri("http://localhost:8000/");
- ServiceHost
host = new ServiceHost (baseAddress); - host.Open( );
- //Can do blocking calls:
- Application.Run(new MyForm( ));
- host.Close( );
- }
在ServiceHost
- public static TOutput[]
- ConvertAll
( TInput[] array,
Converterconverter )
它能够根据Converter对象将一种类型的数组转换为另一种类型的数组。
以上就是对WCF实现SOA的相关步骤的介绍。
分享名称:WCF实现SOA相关操作步骤详解
文章网址:http://www.shufengxianlan.com/qtweb/news16/242766.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联