2016-04-30 111 views
0

我已經創建了添加了以下項目,以解決一個Xamarin項目WCF服務:Xamarin形式如何消費

Xamarin.UI(便攜式)

Xamarin.UI.Droid

Xamarin.UI.iOS

Xamarin.UI.UWP

Xamarin.UI.Windows(Windows 8.1中)

Xamarin.UI.WindowsPhone(Windows Phone 8.1)

我在創建可以使用我的WCF服務的客戶端時遇到問題。

1)首先,當前的Xamarin項目模板沒有在PCL中引用System.ServiceModel程序集,因此我不能右鍵單擊PCL並向我的項目添加服務引用。當我從這個位置手動添加對System.ServiceModel的引用時,C:\ Program Files \ Reference Assemblies \ Microsoft \ Framework.NETFramework \ v4.5彈出用於創建服務引用的菜單項。當我在Add Service Reference對話框中點擊Go時,出現以下錯誤:

「此服務無法被當前項目使用,請檢查項目目標框架是否支持此服務類型。

的PCL指標如下:

.NET框架4.5

ASP.NET 1.0的核心

的Windows 8

的Windows Phone 8.1

Xamarin.Android

Xamarin.iOS

Xamarin.iOS

我不知道如何使其工作?

2)其次,我使用的工作是用SlSvcUtil.exe創建客戶端 將生成的代碼與對System.ServiceModel的引用一起添加到我的PCL,並且一切正常。問題是,當我運行代碼時,它會標記類型引用錯誤!我應該手動添加對System.ServiceModel的引用麼?我在這種情況下做錯了什麼?我錯過了一些步驟?

我檢查了Xamarin文檔,但似乎我無法在此找到詳細的說明。

請幫我一把!謝謝:)

回答

0

應支持PCL和WCF。或者,你可以通過HttpClient等手動操作。但是,如果你可以使用共享項目而不是PCL,那會更容易。否則,你還必須爲每個平臺使用DependencyService,創建接口等。

+0

感謝喬,使用httpclient意味着我將不得不手動從序列化XML對象 - ahhh男子。使用共享項目意味着我必須轉換一切 - 但它可以工作。必須有辦法讓WCF + PCL工作 –

+0

這個鏈接https://forums.xamarin.com/discussion/19303/how-to-consume-wcf-service-in-xamarin-forms-pcl討論他們得到它工作,但沒有提供足夠詳細的信息。 –

+0

哎呀,看起來像我搜索錯誤的縮略詞。是某些PCL支持WCF:https://msdn.microsoft.com/en-us/library/gg597391(v=vs.110).aspx是否可以檢查PCL配置文件編號以確保您的目標是正確對象,真愛? – joe