【ITOO】如何创建WebService和WCF服务

             写关于WCF的前一篇文章只是简单的介绍了一下WCF的相关概念,四种服务契约和它的一些好处。http://blog.csdn.net/xdd19910505/article/details/42881893。那么我们如何来创建一个WCF服务呢?今天就来详细的总结一下关于创建服务的问题。

             首先,之前我们学过用webservice来发布服务,现在来比较一下WCFWebService的区别。

             其实个人认为它们是一种包含与被包含的关系,知识在WCF中又多了很多先进的技术,使得WCF技术更强大和被人们所用。网上的一些资料是这样说的:

             1WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是跨语言和平台的关键)。

             2)其实一定程度上就是ASP.NET Web Service,因为它支持Web Service的行业标准和核心协议,因此ASP.NET Web Service能做的事情,它几乎都能胜任。WCF不仅支持和集成WebService,它还兼容和具备了微软早期很多技术的特性。

                          

             那么我们先来看一下Web Service发布服务的情况。一个某人说你好的例子。

                       

一、Web Service服务

             Web Service中服务的写法:

 [WebMethod]       //同样是一个特性,作用是把当前的方法放在一个Web服务里
        public string Hello(string Name)
        {
            return Name + "说:你好";
        }

             这样一个WebService的服务就写好了。

                        

二、WCF创建服务

             下面是一个WCF的例子。关于WCF服务契约的一些特性上一篇博客已经说了,这里就不再重复。同样是一个说:你好的例子。

             WCF的一个完整的服务就是一个服务契约和它的实现组成的,一个服务契约就是我们常用的接口加上WCF特性就可以。和WebService不同的就是通过接口和实现共同组成服务。

服务契约:

[ServiceContract]//服务契约
    public interface IHelloService
    {
        //服务操作
        [OperationContract]//只有方法前加了操作契约特性之后才会被放到服务当中去,这个操才会被实现
        string SayHello(string name);
        //[OperationContract]
        //void Method2();
    }

               

它的实现类,实现了IHelloService接口。

public class HelloService:IHelloService
    {
        /// 打招呼
        public string SayHello(string name)
        {
            return name + "说:你好!";
        }
    }

             这样一个完整的WCF服务就写好了。

                        

三、总结                      

             两者的同点是一目了然的。WCF同时使得面向服务编程更加简单统一了。它既支持具有互操作性的Web服务,还能够实现.NET客户端与服务端的通信,提供了分布式事务。同时,WCF引入了独有的Endpoint元素,集成了地址、绑定和契约之间的“三位一体”,以最简单的方式定义和发布服务。



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。