消費自託管WCF服務的整個過程,一步步地解釋以及充足的編碼和螢幕截圖是非常有必要。
第1步:服務託管,現在我們需要實現的代理類客戶端。創建代理的方式不同。
- 使用svcutil.exe,我們可以創建代理類和配置檔以及端點。
- 添加服務引用到客戶端應用程式。
- 實現 ClientBase<T> 類
這三種方法,實現ClientBase<T>類是最好的做法。如果使用了兩個rest方法,需要創建一個代理類,每一次當我們做出改變服務的實現。但是,這不是對ClientBase<T>類情況。這將創建代理只能在運行,所以它會打理一切。
為此,創建一個代理類,其中包括refrencesof System.ServiceModel和MyCalculatorService。

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>,
ISimpleCalculator
{
Public int Add(int num1, int num2)
{
//Call base to do funtion
returnbase.Channel.Add(num1, num2);
}
}
}
現在,創建一個控制臺應用程式,其中包括System.ServiceModel和MyCalculatorServiceProxy的參考。

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:結束點(相同服務)的資訊應該被添加到客戶端應用程式的配置檔。
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<client>
<endpoint address ="http://localhost:8090/MyCalculatorServiceProxy/ISimpleCalculator"
binding ="wsHttpBinding"
contract ="MyCalculatorServiceProxy.ISimpleCalculator">
</endpoint>
</client>
</system.serviceModel>
</configuration>
步驟3:運行客戶端應用程式之前,需要運行的服務。客戶端應用程式的輸出如下所示。

上一篇:
消費WCF服務託管在IIS5/6
下一篇:
消費WCF服務託管在Windows啟動服務
