【发布时间】:2010-09-01 13:30:29
【问题描述】:
我试图做的有点不同,我想知道是否可以创建某种接口,以便如果在 php 中调用特定函数(独立),那么参数将被转发到方法在 C# 中,反之亦然。
【问题讨论】:
-
使用网络服务。我猜你可以用 PHP 编写肥皂网络服务,但不确定。对于 C#,你当然可以,并且在两者之间拥有 web 服务是它们相互通信的最佳方式。
我试图做的有点不同,我想知道是否可以创建某种接口,以便如果在 php 中调用特定函数(独立),那么参数将被转发到方法在 C# 中,反之亦然。
【问题讨论】:
当然取决于您要交换什么样的数据,应用程序是在同一台服务器上还是在两个不同的服务器上等等。
在我的一些基于 Web 的项目中,我确实在 PHP 和 C# 之间建立了联系。我所做的:创建一个公开 RESTful API 的 ASP.NET MVC 项目。然后通过 HTTP(使用 CURL)从 PHP 调用此 API 公开的方法。我使用 JSON 作为数据交换格式,将数据从 PHP 传递到 C# 并再次返回。这很有效,因为这两个应用程序位于不同的服务器上。
我还可以想象某种套接字服务器。例如。用 C# 编写的后台进程正在侦听某个端口,然后您通过 PHP 的套接字函数连接到它。我做了这样的事情来连接 PHP 和 Java。 Java 应用程序在 XXXX 端口上作为恶魔进程运行,并且是 Apache FOP 的包装器。我使用 PHP 的套接字函数将 XML 和 XSLT 传递给 Java 恶魔,然后 Java 恶魔使用 Apache FOP 将数据转换为 pdf,并通过套接字连接将其返回给 PHP,PHP 进而将 PDF 文件发送给请求页面的客户端。
可能还有其他一些方法,但这些是我迄今为止将两种不同技术连接在一起的经验。
编辑:顺便说一句:使用 IIS 的 Windows 网络服务器上的 PHP 真的不是很好用。有时会出现奇怪的错误或某些不容易解决的权限相关错误。虽然是 YMMV。
【讨论】: