我没有发现任何关于单点触控的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