1

我正在考虑做一个涉及 php 和 c# 的项目。我需要做的是从 PHP 用户可以执行某个任务,一旦 php 处理了一些信息,这些信息需要发送到 ac# 应用程序,c# 可以使用提供的信息做一些其他工作。

c# 应用程序很可能在运行 php Web 应用程序的同一台服务器上工作,但如果它们位于完全独立的服务器上,它应该可以工作。

我想我可以将一些 XML 从 php 发送到运行 c# 程序的任何 IP 地址,但不知道我将如何让 php 进行发送以及如何让 c# 应用程序来列出数据。

任何帮助将不胜感激。d

4

4 回答 4

3

您无需指定要发送的数据的性质,但如果您通过 Web 发送数据,那么使用 XML、JSON、Web 服务等与语言无关的方法意味着您的服务器端语言在很大程度上是无关的。

但是,如果您要发送大型电影文件之类的内容,那么使用 FTP 或类似文件可能会更好。

于 2012-05-29T15:26:47.520 回答
2

肥皂

在一个首字母缩略词中,您可以(几乎)解决您生活中的任何互操作性问题。

“简单地”定义在桌面应用程序中运行的 Web 服务(有可能,但不是那么简单)并实例化 PHP SoapClient

XML(纯)

当然,您可以将直接 XML 输入发送到您的桌面应用程序。这利用了 .NET Socket ( System.Net.Sockets) 和 PHP 套接字 I/O ( fsockopen)。您可以创建特定于应用程序的协议并注入 XML 数据。

如果您已经非常熟悉 XML 并且对套接字很熟悉,建议您使用。如果您想要更高级别的可重用性,则不推荐。

于 2012-05-29T15:26:57.860 回答
0

您可以在 C# 服务中打开 WCF 通道,然后使用 PHP 调用它。

于 2012-05-29T15:26:55.207 回答
0

您应该在桌面应用程序中托管一个自托管 WCF 服务,并从您的 php 应用程序调用这些服务。

using System.ServiceModel;
using System.ServiceModel.Description;

示例代码:

[ServiceContract]
public interface IHelloWorldService
{
   [OperationContract]
   string SayHello(string name);
}

public class HelloWorldService : IHelloWorldService
{
  public string SayHello(string name)
  {
    return string.Format("Hello, {0}", name);
  }
}
于 2012-05-29T16:07:30.553 回答