新聞中心
WCF代理還是比較常用的,于是我研究了一下WCF代理,在這里拿出來和大家分享一下,希望對大家有用。SvcUtil生成的代理類派生自類ClientBase

- public class ClientBase
: IDisposable - {
- protected ClientBase(string endpointConfigurationName);
- protected ClientBase(Binding binding,EndpointAddress remoteAddress);
- public void Dispose();
- protected T InnerProxy{get;}
- //其它成員
- }
#T#這個InnerProxy屬性是客戶端需要消費(fèi)的合同類型,并且SvcUtil生成的ClientBase
- MyContractProxy proxy = new
- MyContractProxy("MyEndpoint");
- proxy.MyMethod();
- proxy.Close();
關(guān)閉WCF代理將終止與服務(wù)的會話并且關(guān)閉連接。作為選擇,你可以使用代理的Dispose()方法來關(guān)閉它。Dispose()方法的優(yōu)點(diǎn)在于,你可以使用using語句來調(diào)用它,即使在面臨異常處理時:
- using(MyContractProxy proxy = new MyContractProxy("MyEndpoint"))
- {
- proxy.MyMethod();
- }
在客戶端配置文件中的每個合同類型的一個端點(diǎn)可以被指派為一個默認(rèn)端點(diǎn)。默認(rèn)端點(diǎn)是一個沒有名字標(biāo)志或只有一個空名("")的端點(diǎn)節(jié):
- ...
- contract="IMyContract"
- />
name="OtherEndpoint" - ...
- contract="IMyContract"
- />
一個默認(rèn)的端點(diǎn)僅僅是一種理想情況;當(dāng)創(chuàng)建一個針對默認(rèn)端點(diǎn)的代理時,你可以使用WCF代理的默認(rèn)構(gòu)造器來讓它使用默認(rèn)端點(diǎn):
- MyContractProxy proxy = new MyContractProxy();
- proxy.MyMethod();
- proxy.Close();
本文標(biāo)題:挖掘創(chuàng)建使用WCF代理技巧
文章地址:http://www.5511xx.com/article/dhesgch.html


咨詢
建站咨詢
