首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单点触控WCF (wshttpbinding)

单点触控WCF (wshttpbinding)
EN

Stack Overflow用户
提问于 2011-03-27 21:28:35
回答 4查看 2.9K关注 0票数 1

我在monotouch上没有找到任何关于wcf支持的东西。我需要为iphone创建具有用户身份验证的web服务。我想使用wshttpbinding。

monotouch是否支持wcf wshttpbinding?如果没有,我如何创建web服务与身份验证,服务器端在窗口(C#),客户端在iphone (单点触控)

非常感谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-16 23:07:37

Mono目前不支持WSHttpBinding,这是一个正在进行的工作,并且支持非常参差不齐。

您可以在HTTPS (来自.NET 1.0和.NET 2.0的web服务堆栈)上使用普通SOAP。

但是,由于您才刚刚开始,所以最好使用带有JSon或XML返回值的REST服务。许多人现在使用Json作为这种连接的通用语言,因为它有一个额外的优势,你可以使用相同的桥来创建基于HTML的应用程序,因为Json输出可以直接输入到浏览器上的javascript中。

对于服务器,您可以使用类似于ServiceStack的内容:

http://www.servicestack.net

对于客户端,您可以使用System.Json手动解析Json,这是一个非常低级的基本堆栈,也可以使用Newtonsoft的Json解析器,它带有完整的反序列化程序和对象映射器。

票数 5
EN

Stack Overflow用户

发布于 2011-04-28 10:22:32

在Monotouch的最新版本中,它确实可以工作。如果您有Visual Studio,则需要使用Windows PC上的Silverlight 4.0 SDK生成WCF类。

下面是我用来生成TimeSheet类的代码(在Windows的CMD shell中运行):

代码语言:javascript
复制
slsvcutil.exe http://localhost/QQQQQ/Timesheet.svc?wsdl /namespace:"*,General"  /d:z:\desktop /noConfig  /ser:DataContractSerializer

然后将其复制到您的Monotouch项目中,并像这样调用它:

代码语言:javascript
复制
BasicHttpBinding binding = new BasicHttpBinding (settings.WCFBasicHttpSecurityMode ());
var svc = new TimesheetServiceClient (binding, new EndpointAddress (settings.AddressServiceUrl ()));

请注意,所有服务调用都是异步的。你需要像这样订阅他们的事件回调:

代码语言:javascript
复制
svc.GetTimesheetsCompleted += GetTimeSheetsComplete;
票数 3
EN

Stack Overflow用户

发布于 2012-09-02 02:03:36

我也在尝试将WCF实现到MonoDroid中。我认为它和MonoTouch没有太大的区别。经过研究,除了BasicHttpBinding之外,我找不到任何其他绑定模式的支持。

老实说,我一点也不擅长WCF,所以我只是随机地尝试了一些方法。我可以使用string和byte[]等从服务器获取消息,但是当我想上传大量数据时,例如。图片或音频,上传包含大byte[]的消息必须小于8192字节。这会导致我的上传失败。

现在我必须想别的办法来解决手机上传大文件的问题。

如果所有的操作都不能完全在WCF编码中实现,这真的是一个很大的遗憾和问题。

希望Mono能改进它。如果有任何帮助,欢迎和感谢。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5449504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档