自託管消費WCF服務

消費自託管WCF服務的整個過程,一步步地解釋以及充足的編碼和屏幕截圖是非常有必要。

第1步:服務託管,現在我們需要實現的代理類客戶端。創建代理的方式不同。

  • 使用svcutil.exe,我們可以創建代理類和配置文件以及端點。
  • 添加服務引用到客戶端應用程序。
  • 實現 ClientBase

這三種方法,實現ClientBase類是最好的做法。如果使用了兩個rest方法,需要創建一個代理類,每一次當我們做出改變服務的實現。但是,這不是對ClientBase類情況。這將創建代理只能在運行,所以它會打理一切。

爲此,創建一個代理類,其中包括refrencesof System.ServiceModel和MyCalculatorService。

Consuming

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using MyCalculatorService;

namespace MyCalculatorServiceProxy
{
Public class MyCalculatorServiceProxy :
//WCF create proxy for ISimpleCalculator using ClientBase
ClientBase,
ISimpleCalculator
{
Public int Add(int num1, int num2)
{
//Call base to do funtion
returnbase.Channel.Add(num1, num2);
}
}
}

現在,創建一個控制檯應用程序,其中包括System.ServiceModel和MyCalculatorServiceProxy的參考。

Consuming

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using MyCalculatorServiceProxy;

namespace MyCalculatorServiceClient
{
classProgram
{
Static void Main(string[] args)
{
MyCalculatorServiceProxy.MyCalculatorServiceProxy proxy = newMyCalculatorServiceProxy.MyCalculatorServiceProxy();
Console.WriteLine("Client is running at " + DateTime.Now.ToString());
Console.WriteLine("Sum of two numbers... 5+5 =" + proxy.Add(5, 5));
Console.ReadLine();
}
}
}

步驟2:結束點(相同服務)的信息應該被添加到客戶端應用程序的配置文件。

步驟3:運行客戶端應用程序之前,需要運行的服務。客戶端應用程序的輸出如下所示。

Consuming