Silverlight学习笔记[6] - 如何:定义 Windows Communication Foundation 服务协定

这是创建基本 Windows Communication Foundation (WCF) 服务和可以调用该服务的客户端所需的六项任务中的第一项任务。有关全部六项任务的概述,请参见入门教程主题。

创建基本 WCF 服务时,第一项任务是定义协定。协定指定服务支持的操作。可以将操作视为一个 Web 服务方法。通过定义 C++、C# 或 Visual Basic (VB) 接口可创建协定。接口中的每个方法都对应于特定的服务操作。每个接口都必须将 ServiceContractAttribute 应用于自身,而每个操作都必须将OperationContractAttribute 应用于自身。如果接口中的一个方法具有 ServiceContractAttribute 而没有 OperationContractAttribute,则不公开该方法。

在操作过程后面的示例中提供了用于此任务的代码。


为 System.ServiceModel 命名空间添加一个 using 语句(在 Visual Basic 中为 Imports)。


using System.ServiceModel;
定义一个名为 ICalculator 的新接口,并向该接口应用 Namespace 值为“http://Microsoft.ServiceModel.Samples”的 ServiceContractAttribute特性。显式指定命名空间是一种最佳做法,因为这样可防止将默认命名空间值添加到协定名称。

注意:

使用特性给接口或类添加批注时,可以从特性名称中去掉“Attribute”部分。因此 ServiceContractAttribute 在 C# 中为[ServiceContract],在 Visual Basic 中为 <ServiceContract>

[ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
public interface ICalculator

在接口中为 ICalculator 协定公开的每个操作(加、减、乘和除)声明一个方法,并对希望作为公共 WCF 协定的一部分公开的每个方法应用OperationContractAttribute 特性。

[OperationContract]
double Add(double n1, double n2);
[OperationContract]
double Subtract(double n1, double n2);
[OperationContract]
double Multiply(double n1, double n2);
[OperationContract]
double Divide(double n1, double n2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiangcns

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值