1

我找不到这个问题的重复项,但老实说,我希望我不是第一个问这个问题的人。

我的 LAN 中有一个 WCF 服务。对于我局域网上的 .NET 客户端,NetTcpBinding 是合适的绑定。但是,我的一个客户是 PHP Web 应用程序。有没有办法做到这一点?

更新:我很清楚我可以有多个端点。我想知道与来自 php 应用程序的 wshttp 相比,我是否可以享受 nettcp 的速度、减少的网络流量和无延迟。

它恰好是在 Windows 上运行的 PHP 应用程序,因此 COM 互操作或 .NET 互操作可以工作。我想知道是否有“本机”解决方案,例如 pecl 模块或 pear 库。

4

3 回答 3

2

NetTcpBinding 仅用于“WCF 到 WCF 通信”。( MSDN )

此绑定使用专有协议进行通信,并且它不是可互操作的,因为它针对 WCF 到 WCF 进行了优化。

您的 WCF 服务可以有不同的端点。为什么不使用可以从您的 php 应用程序轻松使用的绑定公开另一个端点?(如 BasicHttpBinding 或 WebHttpBinding)

于 2009-12-19T15:47:00.397 回答
0

您可以将另一个绑定添加到现有服务端点。那么除了 nettcpbinding 之外,为什么不添加一个 basichttp 或 wshttp 绑定。它只是您的配置文件中的几行代码,不需要任何代码更改。

于 2009-12-19T22:59:19.597 回答
0

以下选项是可能的黑客攻击。我将它们包括在那里以供其他发现此问题的人使用。

  • 允许您使用可以从自定义 PHP 模块调用的非托管导出创建 .NET 程序集,

  • Phalanger将 PHP 解释为 .NET 运行时。它还使您可以完全访问 .NET API。我只是玩弄了一点。但是,它肯定会读取您的 web.config 文件。如果它不尊重 web.config 的 WCF 服务方面,我将使用这个最初由Christian Glessner开发的PowerShell 脚本作为完全在代码中配置 WCF 服务客户端存根的参考。

于 2012-04-27T19:17:55.543 回答