小背景: 我正在構建一個簡單的回合制遊戲。有一臺託管WCF服務的服務器和使用Xamarin.Forms
(使用PCL庫)構建的客戶端。所以我想用雙工通道構建一個非常簡單的「請求 - 響應」服務器 - 做出動作並等待響應(捕獲事件中的響應/回調)。但是...問題是,我看不到netTcp綁定或任何雙工/雙綁定那裏。只有BasicHttpBinding
。如何處理Xamarin.Forms中的WCF Duplex?
我的代理PCL庫目標:
- .NET框架4.5
- ASP.NET 1.0的核心
- 的Windows 8
- 的Windows Phone 8的Silverlight
- Xamarin.Android
- Xamarin .iOS
- Xamarin.iOS(經典)
我的問題是:我如何使基於事件的服務體系結構(與Callback的WCF雙工通信) - 所以我可以在Xamarin.Forms中使用它?
在人這一點上的色調可能要downvote這個問題(或者已經做到了),所以我給搞什麼名堂已經完成:
我發現票here和大量的抱怨(有和其他地方),Xamarin沒有采取任何關於wcf雙工通信。這看起來並不樂觀。但是,也許你有一些很好的解決方法這個問題?
至於現在,我已經做了這樣的:
public async Task<MyResponse> Start(int id)
{
MyResponse response;
// doing stuff...
return await Task.Factory.StartNew(() => response);
}
所以,我打電話異步服務,基本上等到返回。由於它是異步的,客戶端的屏幕不會被凍結。我不知道這是最好的解決方案...
最好的解決方案是基於事件的架構(使用回調,因爲你必須等待你的對手)。但我不知道該怎麼做?它甚至有可能嗎?
謝謝,
有一個關於它的討論:[你們可以讓一些團隊成員去更新Xamarin.Android和Xamarin.iOS的WCF嗎?](https://github.com/dotnet/wcf/issues/1688 ) – qakmak