1.WCF服务编写与调用

Posted sunjianping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1.WCF服务编写与调用相关的知识,希望对你有一定的参考价值。

WCF通信实现方式步骤一般为:

(1)服务端定义协定:协定一般包括1.服务协定(service Contrat)2.操作协定(Operation Contrat)3.数据协定(Data Contrat) 4.Message Contrat

(2)服务端实现协定:

(3)寄宿服务:对于Web项目,使服务在IIS上运行,本次利用Service Host类来启动服务。

(4)客户端引用服务

(5)对服务进行实例化,随后调用协定的服务接口。

演示实例代码:

(1)定义服务协定:

[Service Contrat]
public interface IService
{
 [OperationContrat]
double Sqr(double i)
}

(2)实现服务:

class MyService:ISservice
{
   public double Sqr(double)
   {  
       return i*i;
   }
}

(3)实例化一个ServiceHost对象,运行WCF

Uri baseUri=new Uri("http://localhost:500");
using(ServiceHost host=new  ServiceHost(typeof(MyService),baseUri))
{
    ServiceMetadataBehavior metadata=null;
    host.Description.Behaviors.Find<ServiceMetadataBehavior>();
    if(metadata==null)
    {
      metadata=new ServiceMetadataBehavior();
    }
    metadata.HttpGetEnabled=true;
    host.Description.Behaviors,Add(metadata);
    host.Open();
    Console.WriteLine("服务已运行");
    Console.Read();

}

(4)添加服务引用

(5)客户端调用

double Input=2.0;
WSSample.ServiceClient client=new  WSSample.ServiceClient();
double Result=client.Sqr(Input);

以上是关于1.WCF服务编写与调用的主要内容,如果未能解决你的问题,请参考以下文章

如何测量代码片段的调用次数和经过时间

WCF系列教程之WCF服务配置

一个 AsynckTask 的多个回调

WCF 服务而不是 ASMX Web 服务?

[转]WCF的几种寄宿方式

WCF系列教程之WCF实例化