从Web服务调用Windows服务

时间:2009-03-26 21:27:42

标签: windows-services web-services

我正在使用.Net 2.0框架,并希望从Web服务调用Windows服务中的函数。这可能吗?如果是,我将对该功能进行多少控制,即传递参数,将结果返回等等。任何想法都将非常感激:)

6 个答案:

答案 0 :(得分:2)

如果您需要传递参数值,

Remoting是您的最佳选择。

如果您不需要共享对象或任何过于复杂的内容,ServiceController可能更容易。

答案 1 :(得分:2)

您可以通过.NET远程处理来完成。如果你走这条路线,你会看到你正在调用一个方法并得到一个结果,但是你的所有参数都将通过网络序列化,结果将被序列化。因此,一切都必须是可序列化的。

答案 2 :(得分:2)

如何在Windows服务中托管WCF服务。您可以使用net.tcp或命名管道在“您的”Web服务和Windows服务中的服务之间进行通信。您可以使用NetDataContractSerializer进行类型保真的序列化。

答案 3 :(得分:0)

可以实现将某些请求映射到函数的基本http服务器。查询字符串将映射到参数。实际上并不难,我在过去做过这个(因为我提供了一些基于模板的基本报告)。它不是动态的,但它可以动态完成。查看HttpListener的起点。您也可以在其中托管asp.net引擎。

它有它的优点和缺点。

答案 4 :(得分:0)

为什么不将函数打包在自己的DLL中,然后单独使用Windows服务和Web服务进行分发?

答案 5 :(得分:-1)

创建服务项目导出接口COM或使用PIPE传输数据。 查看此Interprocess Communication using Named Pipes in C#