答案 0 :(得分:1)
也许您的控制台应用程序可以轮询某个文件的目录,并对此作出反应。
然后你的php应用程序只需要创建该文件,控制台应用程序应该注意它并做你想做的任何事情。我不确定你想做什么。
答案 1 :(得分:1)
你可以像这样创建一个服务:
[ServiceContract]
public interface IService
{
[OperationContract]
[WebInvoke(
Method = "GET",
UriTemplate = "/magic")]
void MagicMethod();
}
这样的服务实现:
public class Service : IService
{
public void MagicMethod()
{
//magic here
}
}
启动HTTP服务应该如下所示:
WebServiceHost host = new WebServiceHost(typeof(Service), new Uri("http://127.0.0.1:8080"))
ServiceEndpoint ep = host.AddServiceEndpoint(typeof(IService), new WebHttpBinding(), "");
ServiceDebugBehavior stp = host.Description.Behaviors.Find<ServiceDebugBehavior>();
stp.HttpHelpPageEnabled = false;
host.Open();
这将在端口8080上启动HTTP服务器。 然后你可以向'http:// localhost:8080 / magic'发出HTTP Get请求来调用方法调用。
答案 2 :(得分:0)
我会考虑使用WCF。您的C#应用程序将托管WCF服务,然后您的PHP应用程序可以调用它,我相信PHP5附带一个SOAP库,这应该使这相对简单。您编写的任何其他应用程序都可以轻松调用,特别是如果它们是用.NET编写的。
我认为COM可以正常工作,但我喜欢WCF的可扩展性,就好像你必须最终将这些应用程序移动到不同的服务器上一样,除了URL之外你不需要改变任何东西。
有一个很好的例子on this blog。如果你使用PHP5它应该是一个轻而易举的,如果你不得不使用4那么它仍然是可能的,但需要更多的腿部工作。