iphone – 通过SSL(https)basicHttpBinding使用Monotouch使用WCF服务

我目前正在编写一个
iphone应用程序,它将通过安全连接(SSL / https)使用WCF服务.我通过http在本地测试时设法使用此服务.

现在我们要确保服务是安全的,因此我们设置了一个带有正确签名证书的UAT服务器来运行我们的测试.

我们使用自定义绑定,加上安全模式TransportWithMessageCredentials,它需要ClientCredentials属性中的用户名/密码.

使用SISvcUtil.exe生成代理

当我尝试从iPhone调用此安全服务时,我得到一个相当可爱的一般错误:

异步操作中的异常:System.Net.WebException:处理Web请求时出错:状态码500(内部服务器错误)
(Here is a pastebin of full exception).

我尝试使用以下方式隐式接受证书:
ServicePointManager.ServerCertificateValidationCallBack =(sender,cert,chain,ssl)=>真正;
但这只会返回相同的500错误.

相同的代码在Windows机器上运行良好,但在iphone上运行不正常.有没有其他人遇到过这个问题和/或知道它的解决方案?

最佳答案 这可能是monotouch中的一个错误,它可能没有使用SISvcUtil.exe完全实现生成的代理,您是否尝试生成一个mac应用程序并在Mac上测试它?

monotouch是否有任何支持WCF代理的文档示例?如果它们没有那么可能它可能不起作用,monotouch不提供.NET运行时,而是实际上将所有内容编译为本机ios二进制文件.因此,如果未正确转换WCF代理,则无法正常工作.

点赞