【问题标题】:How to make a ASP.NET website communicate with TCP server application如何使 ASP.NET 网站与 TCP 服务器应用程序通信
【发布时间】:2012-05-25 12:15:23
【问题描述】:

我有一个架构,其中通过服务器应用程序管理和监视一组硬件(通过 TCP 套接字进行通信并更新与硬件相关的数据库)。还有一个 asp.net 网站,用户可以通过该网站通过 tcp 服务器获得硬件的实时状态。 tcp 服务器和网站将托管在同一台机器上。

我的问题是如何让 USER 与 TCP SERVER 交互?

我遇到的一种方法是在 Windows 服务中创建 tcp 服务器并在其中托管 wcf,并创建 asp.net 网站来使用此服务。但由于我是一个完全的新手,我对此感到困惑。所以请告诉我这个解决方案是否适用于我的问题。如果是,请详细说明如何完成。

【问题讨论】:

  • 什么意思?你有用户使用的应用程序吗?
  • @jgauffin,我有一个 TCP 套接字服务器,它通过 tcp 套接字不断连接到远程硬件,我有一个 ASP.NET 网站,用户应该使用它来配置和控制硬件TCP 套接字服务器
  • 那么您真正要问的是 ASP.NET(WebForms 还是 MVC?)如何与您的 Windows 服务通信以让 Windows 服务通过 Tcp 服务器向硬件发送消息? Asp.Net -> WinService -> Socket -> Hardware
  • 是的,正是……它是 WebForms
  • 然后我会按照@GrzegorzWilczura 的建议去做。 WCF 是最简单的解决方案。 (即坚持使用 windows 服务来托管 TCP 服务器并在 ASP.NET 和 WinService 之间使用 WCF)

标签: c# asp.net wcf windows-services


【解决方案1】:

这是可能的实现之一。 由于您的应用程序(IIS 托管网站和 Windows 服务应用程序)位于同一台机器上,您应该使用 NetNamedPipeBinding(因为它是单台机器上最快的 WCF 通信)。

还有其他方法可以在您的 HTTP 应用程序和 Windows 服务之间进行通信,但这种方法快速、可靠且非常容易实现。我当然会这样做。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-19
    相关资源
    最近更新 更多