我沒有發現任何關於單點觸控的wcf支持。我需要使用用戶身份驗證爲iPhone創建Web服務。我想使用wshttpbinding。單點觸控WCF(wshttpbinding)
單點觸控支持wcf wshttpbinding嗎?如果沒有,我怎麼能與認證,服務器端的寡婦(C#),客戶端在iPhone上創建Web服務(MonoTouch的)
非常感謝
我沒有發現任何關於單點觸控的wcf支持。我需要使用用戶身份驗證爲iPhone創建Web服務。我想使用wshttpbinding。單點觸控WCF(wshttpbinding)
單點觸控支持wcf wshttpbinding嗎?如果沒有,我怎麼能與認證,服務器端的寡婦(C#),客戶端在iPhone上創建Web服務(MonoTouch的)
非常感謝
單聲道目前不支持WSHttpBinding,這是一個正在進行的工作,並且支持非常多斑點。
您可以通過HTTPS(來自.NET 1.0和.NET 2.0的Web服務堆棧)使用純SOAP。
但是由於您剛剛開始使用REST服務,因此您最好使用帶有JSon或XML返回值的REST服務。許多人現在使用Json作爲這種連接的通用語言,因爲它具有額外的優勢,您可以使用相同的橋樑來創建基於HTML的應用程序,因爲Json輸出可以直接輸入到瀏覽器的JavaScript中。
對於服務器,您可以使用類似ServiceStack:
對於客戶端,您可以使用解析其System.Json是一個非常低的水平和準系統堆棧手動JSON,或者你可以使用像Newtonsoft的Json解析器那樣的東西,它帶有一個完整的反序列化器和對象映射器。
我建議用ASP MVC創建Web服務,並給作爲你可以用monotouch解析的XML文件。 你可以攻擊你的web服務創建從零開始使用ASP獲取流XML
在Monotouch的最新版本中,它確實有效。如果您有Visual Studio,則需要使用Silverlight 4.0 SDK生成WCF類,該SDK將位於Windows PC上。
下面是我用它來生成我的時間表類(在CMD殼運行在Windows中):
slsvcutil.exe http://localhost/QQQQQ/Timesheet.svc?wsdl /namespace:"*,General" /d:z:\desktop /noConfig /ser:DataContractSerializer
那麼這個拷貝到你的MonoTouch項目,並調用它像這樣:
BasicHttpBinding binding = new BasicHttpBinding (settings.WCFBasicHttpSecurityMode());
var svc = new TimesheetServiceClient (binding, new EndpointAddress (settings.AddressServiceUrl()));
注所有的服務調用都只是異步。你需要訂閱他們的事件回調像這樣:
svc.GetTimesheetsCompleted += GetTimeSheetsComplete;
我想實現WCF到MonoDroid,也。我認爲它和MonoTouch沒有太大的區別。經過研究,我沒有發現除了BasicHttpBinding之外的其他WCF綁定模式的supoort。
老實說,我並不擅長WCF,所以我只是隨機嘗試。我可以從字符串和字節[]等服務器獲取消息,但是當我想要上傳大量數據時,例如。圖像或音頻,包含大字節[]的上傳消息必須限制在8192字節以內。這會導致我的上傳失敗。
現在我必須想辦法從手機上解決大文件上傳。
這真的是一個很大的遺憾和問題,而不是讓所有的行爲完全在WCF編碼中實現。
Hope Mono改進它。如果有任何幫助歡迎和讚賞。
如果Web服務是基於服務器的,爲什麼您需要客戶端上的相同? – 2011-03-27 13:32:45