我正在研究一个涉及php和c#的项目。我需要做的是从PHP用户可以执行某项任务,一旦php处理了一些信息,这些信息需要发送到c#应用程序,c#可以用提供的信息做一些其他工作。
c#应用程序最有可能来自运行php web应用程序的同一台服务器,但如果它们位于完全独立的服务器上,它应该可以工作。
我想我可以将一些XML从php发送到运行c#程序的任何IP地址,但不知道我将如何使用php来执行发送和c#app来执行数据列表。
非常感谢任何帮助。
答案 0 :(得分:3)
您没有指定要发送的数据的性质,但如果您是通过Web发送数据,则使用与语言无关的方法(如XML,JSON,Web服务等)意味着您的服务器端语言在很大程度上是无关紧要的。
但是,如果您要发送类似大型电影文件的内容,那么使用FTP或类似内容可能会更好。
答案 1 :(得分:2)
在一个缩写词中,您可以解决(几乎)生活中的任何互操作性问题。
“简单地”定义在桌面应用程序中运行的Web服务(可能但不是那么简单)并实例化PHP SoapClient。
当然,您可以将直接XML输入发送到桌面应用程序。这使用了.NET Socket(System.Net.Sockets
)和PHP套接字I / O(fsockopen
)。您可以创建特定于应用程序的协议并注入XML数据。
如果您已经非常熟悉XML并且对套接字很熟悉,建议您使用。 如果您想要更高级别的可重用性,请不要推荐。
答案 2 :(得分:0)
您可以在C#服务中打开WCF频道,然后使用PHP调用它。
答案 3 :(得分:0)
您应该在桌面应用程序中托管self host WCF service并从您的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);
}
}