2011-03-22 76 views
1

我得到了一種編碼方案,我似乎無法修復。 我有一個同步WCF服務,我想模擬添加服務引用(slsvcutil.exe),但沒有託管WCF服務。這可能嗎?爲Silverlight生成WCF代理,而無需將託管服務添加到WCF服務中的ASync模式

我想使用slsvcutil從wsdl文件生成客戶端,但它不想工作,因爲它需要一個端點。是否有可能爲Silverlight生成WCF代理,而無需託管服務,也不需要通過將所有調用設置爲異步來編輯WCF服務?

回答

0

是否因爲您不想「添加異步模式」而無需託管即可生成代理?

您不必編輯WCF服務以使其可以異步調用,異步服務器全部由客戶端而不是服務器處理。

看看本教程,你會發現服務代碼根本沒有提到異步。 http://www.dotnetcurry.com/ShowArticle.aspx?ID=228

實際上Silverlight中的所有東西都是異步的,並有很好的理由。正是這樣,最終用戶才能在應用程序停止獲取數據時不會遇到阻塞的UI線程。

+0

是的我不想將異步模式添加到我的WCF服務。 添加服務引用會創建一個在客戶端添加同步模式的客戶端。 我想通過使用slsvcutil.exe來模擬此,但我無法從本地.wsdl文件生成客戶端。它給了我一個錯誤消息,指出找不到端點。所以我問是否有一種方法可以在沒有端點的情況下生成代理。 你知道這是可能嗎? – Casper 2011-03-23 09:20:01

+0

我不知道是否有可能,我懷疑你必須從Silverlight運行時提供的類中手工創建一個WCF客戶端。你爲什麼不要異步?使用Silverlight IMO的主要原因是爲了改進用戶體驗,並轉向同步服務將與此相反。 – BenCr 2011-03-23 09:32:01

+0

我不介意在Silverlight端使用異步,但我不想僅僅因爲Silverlight無端點創建代理而編輯我的WCF端。 我認爲唯一的辦法就是讓自己的代碼生成器像slsvcutil一樣不需要端點。 – Casper 2011-03-23 10:11:34

相關問題