WCF开发入门的六个步骤

在这里我就用一个据于一个简单的场景:服务端为客服端提供获取客户信息的一个接口读取客户信息,来完成WCF开发入门的六个步骤。
1.       定义WCF服务契约

A.      项目引用节点右键添加System.ServiceModel引用。

B.      在代码文件里,添加以下命名空间的引用

using System.ServiceModel;

using System;

C.      新建一个命为ICustomerService 接口,并添加一个获取客户信息的方法定义名为CustomerInfomation,返回字符串类型的客户信息。

D.     为接口ICustomerService添加ServiceContract的属性修饰使它成为WCF服务中公开的接口。

E.      为方法CustomerInfomation添加OperationContract的属性修饰使它成为WCF服务公开接口中公开的成员。

F.      代码:


 1 using System;
 2
 3 using System.ServiceModel;
 4
 5 namespace ConWCF
 6
 7 {   [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
 8
 9     public interface CustomerService
10
11     {
12
13         [OperationContract]
14
15         String CustomerInformation();
16
17     }
18
19 }
20

 

 

2.       实现WCF服务契约
 

实现WCF服务契约很简单,就是实现上一步聚定义的WCF服务契约定义的接口就可以。下面看代码


 1 using System;
 2
 3 using System.ServiceModel;
 4
 5 namespace ConWCF
 6
 7 {   [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")]
 8
 9     public interface ICustomerService
10
11     {
12
13         [OperationContract]
14
15         String CustomerInformation();
16
17     }
18
19     public class CustomerService:ICustomerService
20
21     {
22
23         #region ICustomerService 成员
24
25         public string CustomerInformation()
26
27         {
28
29             return "这是客户的信息!";
30
31         }
32
33         #endregion
34
35     }
36
37 }
38
39

 

3.       启动WCF服务

A.添加一个应用程序配置文件,文件件名为App.config。

B.配置WCF服务的基本地址,如下所示

<host>

                       <baseAddresses>

                            <addbaseAddress="http://localhost:8000/conwcfr"/>

                       </baseAddresses>

                   </host>

C.配置WCF服务的端口。Address=“”,意思就是使用上面配置的基本地址,当然也可以在这里指定。Bingding=“wsHttpBinding”,意思是WCF服务使用的是HTTP协议。再接下来就是配置WCF服务契约了(命名空间.服务契约接口名),如下所示:

<endpointaddress=""

                             binding="wsHttpBinding"

                             contract="ConWCF.ICustomerService" />

D.配置文件

E.启动服服就简单了

ServiceHost host = new ServiceHost(typeof(CustomerService));

                    host.Open();

                    Console.WriteLine("客户信息服务已启动");

                    Console.WriteLine("按任意键结束服务!");

                    Console.Read();

           host.Close();

F.当服务启动时,在IE栏中输入: http://localhost:8000/conwcfr,将会收到一些帮助的提示信息。


G.异常:配置文件中的服务名称一定是:命名空间.实现WCF服务契约类的名称,否则将会发生找到不配置的异常。

             <service

                   name="ConWCF.CustomerService"

    异常信息: Service ''ConWCF.CustomerService'' has zero application (non-infrastructure) endpoints. This might be because no configuration file was found for your application, or because no service element matching the service name could be found in the configuration file,


文章出处:http://www.diybl.com/course/4_webprogram/asp.net/netjs/2008515/116962.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值