WCF Part 2 : Defining contract

WCF Part 2 : Defining contract, 原文

    在上篇文章中,我们粗略讲述了WCF的ABC(Address, Binding and Contract)。 本章讲述契约(Contract)。

    契约是在需要在类上显式定义的,只要给类加上[ServiceContract]属性即可. 在服务中,给方法加上[OperationContract]属性,即可暴露出来以供外部使用, 因为在服务中,方法是被称为操作的(operationsas)。

[ServiceContract]

public class Hello

{

    [OperationContract]

    string HelloWorld()

    {

        return "Hello world";

    }

    string HelloComputer()

    {

        return "Hello computer";

    }

}

     操作也是需要被显式地进行定义的,一个面向服务的规定。在上面的服务中,HelloComputer对于我们服务的使用者而言是不可见的,因为他没有使用[OperationContract]属性进行标注,而HelloWorld却是对外可见的,即使在.NET中,他的限定符为private。

接口(Interfaces)
     实际上,通常将接口作为契约,具体的服务实现只需实现这个接口即可。这样做的好处有:

  • 接口能够扩展/继承其他接口
  • 一个类可以实现多个接口
  • 可以在不违反契约的情况下修改服务的实现
  • 可以通过不同版本的接口来对服务的版本进行控制

     综上所述,最好的做好就是用接口并且实现这个接口。上面提到的两个属性,也必须显式地在接口中指定。

[ServiceContract]

public interface IHello

{

    [OperationContract]

    string HelloWorld();

    string HelloComputer();

}

public class Hello : IHello

{

    string IHello.HelloWorld()

    {

        return "Hello world";

    }

    string IHello.HelloComputer()

    {

        return "Hello computer";

    }

}

    在下一篇文章中,我们将看到如何host这个服务。在接下来的系列文章中,我们还会继续使用到这个服务,并且对上面说到的版本控制进行演示。

转载于:https://www.cnblogs.com/huangjizhou/archive/2007/11/26/973208.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值