【问题标题】:Calling Windows Service from a Web Service从 Web 服务调用 Windows 服务
【发布时间】:2009-03-26 21:27:42
【问题描述】:

我正在使用 .Net 2.0 框架并想从 Web 服务调用 Windows 服务中的函数。这可能吗?如果是的话,我将对函数有多少控制权,即传递参数、取回结果等。任何想法将不胜感激:)

【问题讨论】:

  • 请澄清问题。您是否控制服务。这些是现有的服务吗?还是你要写?

标签: windows-services web-services


【解决方案1】:

如果您需要传递参数值,Remoting 是您的最佳选择。

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

【讨论】:

    【解决方案2】:

    您可以通过 .NET 远程处理来实现。如果你走那条路,看起来你正在调用一个方法并得到一个结果,但是你的所有参数都将通过网络进行序列化,结果将被序列化回来。因此,所有内容都必须可序列化。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        它有它的优点和缺点。

        【讨论】:

          【解决方案5】:

          为什么不将函数打包到自己的DLL中,然后与Windows Service和Web Service分开分发呢?

          【讨论】:

            【解决方案6】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2010-10-19
              • 2011-07-25
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多