这一系列文章的内容是从MSDN中COPY过来的,讲述的是最简单的WCF程序示例:如何在控制台应用程序实现和承载WCF服务,以及如何创建、配置和使用WCF客户端。
文章主体可分为两部分,分别介绍服务器端和客户端的编程实现。细分的话,可以分为六项任务。
一、定义WCF服务协定(任务一)
这是创建基本 Windows Communication Foundation (WCF) 服务和可以使用该服务的客户端所需的六项任务中的第一项任务。
创建基本 WCF 服务时,第一项任务是为与外界共享的服务创建协定,并在其中描述如何与该服务进行通信。
具体步骤为:
1、 创建新的控制台应用程序项目。 在
“新建项目”对话框中,选中
“Visual Basic”或
“Visual
C#”,并选择
“控制台应用程序”模板,并命名为
Service。 使用默认的位置。
2、将默认的
Service
命名空间更改为
Microsoft.ServiceModel.Samples
。
3、为项目提供对
System.ServiceModel
命名空间的引用:右击
“解决方案资源管理器”中的
“Service”项目,选择
“添加引用”项,在弹出的对话框中的
“.NET”选项卡里的
“组件名称”中选择
“System.ServiceModel”,然后单击
“确定”。
下面是编程步骤:
1、为
System.ServiceModel 命名空间添加一个
using 语句。
using System.ServiceModel;
2、创建一个新的
ICalculator
接口,并将
ServiceContractAttribute
属性应用于该接口,并将
Namespace
值设置为“”。
此命名空间指定该服务在计算机上的路径,并构成该服务的基址部分。
请注意,在通过采用方括号表示法的属性来批注接口或类时,该属性类可以从其名称中去掉“Attribute”部分。
[ServiceContract(Namespace = "")]
public interface ICalculator
3、在接口中创建方法声明,并将
OperationContractAttribute 属性应用于每个要作为公共 WCF
协定的一部分公开的方法。
[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);
下面是创建服务协定的完整代码段:
using System;
// Add the using statement for the Sytem.ServiceModel namespace
using System.ServiceModel;
namespace Microsoft.ServiceModel.Samples
{
// Define a service contract.
[ServiceContract(Namespace = "")]
public interface ICalculator
{
// Create the method declaration for the contract.
[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);
}
}
........(整个服务器端的代码未完,等讲完任务三时,再给出完整代码)
PS:如果装了MSDN的同学,可以自己到MSDN上去看这些文档,那里说的会比较清楚一些,另外这里会对文档做
一些小小的修改,方便大家明白。如果大家有什么问题,可以提出来。
阅读(1697) | 评论(4) | 转发(0) |