簡體   English   中英

Silverlight中動態WCF客戶端代理的解決方案?

[英]Solutions for dynamic WCF client proxy in Silverlight?

我目前需要從Silverlight(3.0)應用程序中訪問WCF服務,但是我需要它是動態的。
我可以訪問的內容:服務接口(ServiceContracts)和數據定義(DataContracts)。
我需要的是:運行時生成/創建的WCF客戶端代理。

有解決方案嗎?

我發現了這個“舊”帖子(2008年9月16日)。
但是我無法使其在Silverlight 3.0下正常運行(沒有嘗試使用Silverlight的早期版本)。

WorkSight博客»博客存檔»Silverlight中的動態WCF客戶端代理

讓我們知道你們中是否有人設法使它成功! :)

我的理解是,如果您遵循了解Silverlight 2中的WCF服務中所述的客戶端訪問過程,則應該能夠選擇在運行時訪問哪個服務,因為您無需在客戶端創建代理。

本文摘錄:

現在我們可以將注意力轉向客戶端應用程序。 首先,讓我開始提醒大家,您永遠不要在Visual Studio中使用“添加服務參考”來創建神奇的服務客戶端。 該代碼非常冗長,難以管理,編輯易於被覆蓋,並且幾乎總是被用作借口而未真正學習WCF。

正如我已經多次提到的,WCF依賴於ABC的概念。 對於.NET和Silverlight,您都將地址和綁定與合同合並在渠道工廠中以創建渠道。 這不僅僅是花哨的概念架構師所說的,這恰恰是您的代碼的樣子(真正好的體系結構的標志!)以下是我所指的.NET版本:

BasicHttpBinding basicHttpBinding = new BasicHttpBinding();
EndpointAddress endpointAddress = new EndpointAddress("http://localhost:1003/Person.svc");
IPersonService personService = new ChannelFactory<IPersonService>(basicHttpBinding, endpointAddress).CreateChannel();

Person person = personService.GetPersonData("F488D20B-FC27-4631-9FB9-83AF616AB5A6");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM