c++ - Mac(或 C++)连接到二进制 WCF

标签 c++ objective-c wcf c#-4.0

我有一个使用 TCP/IP (netTcpBinding) 托管的 WCF 服务:

var baseWcfAddress = getWcfBaseUri();
host = new ServiceHost(wcfSingleton, baseWcfAddress);

var throttlingBehavior = new System.ServiceModel.Description.ServiceThrottlingBehavior();
throttlingBehavior.MaxConcurrentCalls = Int32.MaxValue;
throttlingBehavior.MaxConcurrentInstances = Int32.MaxValue;
throttlingBehavior.MaxConcurrentSessions = Int32.MaxValue;
host.Description.Behaviors.Add(throttlingBehavior);

host.Open();

我想用 Objective C 或 C++ 编写 Mac 客户端。是否有任何现有类可以促进与我的 WCF 服务的连接?如果没有,实现它的步骤和选项是什么?

最佳答案

每个以 net 开头的绑定(bind)都被认为是不可互操作的。即使没有 WCF 的纯 .NET 客户端也无法通过重新实现整个二进制协议(protocol)和编码付出巨大的努力来与服务通信。您可能应该从:

您的 Mac 选项是使用 Mono它应该支持 netTcpBinding。

Mac 上 Objective-C/C++ 的真正选择是创建可互操作的 WCF 服务,通过 HTTP 公开数据。如果您不是该服务的所有者,您可以创建路由 WCF 服务,它将是 bridge在可互操作的 HTTP 和 netTCP 之间。

编辑:

还有一件事 - 如果服务使用 netTcpBinding 和默认配置,它会受到 Windows 安全保护。我希望它能成为 Mac 上的又一亮点。

关于c++ - Mac(或 C++)连接到二进制 WCF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6459619/

相关文章:

c# - 如何创建在任务管理器或服务列表中不可见的进程

c++ - 在此范围内未声明的变量 数组线性搜索

Android - 到 .NET WCF 服务的 Https 连接给出 SSLException : "No peer certificate"

c# - 使用 IIS 托管 WCF 服务的 C# 中的任务管理

wcf - 在一个 Windows 服务中的单个 TCP 端口上托管多个 WCF 服务

c++ - 运算符重载和继承

c++ - Eclipse项目通过环境变量链接资源

ios - 如何将 Linphone 集成到 IOS Swift - 开发 iOS 7/8

objective-c - 在自动引用计数 (ARC) 下,我应该在哪里放置我的 free() 语句?

ios - 下载完成后如何更新 UITableViewController