Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何实现TCP/IP应答器“;服务“;在web应用程序中_C#_Asp.net_Architecture - Fatal编程技术网

C# 如何实现TCP/IP应答器“;服务“;在web应用程序中

C# 如何实现TCP/IP应答器“;服务“;在web应用程序中,c#,asp.net,architecture,C#,Asp.net,Architecture,对于我正在进行的项目,我有以下体系结构 我的问题是如何开始实现TCP/IP响应程序部分。 如果图表难以阅读,它的功能是等待来自订单查看客户端的连接,然后通知所述客户端收到的订单 我在考虑队列,但不幸的是,我不知道这样的东西在VS2008的层次结构中应该放在哪里 如果它是ASP.NET网页的一部分,我应该使用应用程序启动事件来启动TCP IP响应程序吗 它不是web服务,因为它们响应http请求…为什么不使用http?您已经拥有http服务器,因此不需要任何TCP响应程序—只需在客户端执行htt

对于我正在进行的项目,我有以下体系结构

我的问题是如何开始实现TCP/IP响应程序部分。 如果图表难以阅读,它的功能是等待来自订单查看客户端的连接,然后通知所述客户端收到的订单

我在考虑队列,但不幸的是,我不知道这样的东西在VS2008的层次结构中应该放在哪里

如果它是ASP.NET网页的一部分,我应该使用应用程序启动事件来启动TCP IP响应程序吗


它不是web服务,因为它们响应http请求…

为什么不使用http?您已经拥有http服务器,因此不需要任何TCP响应程序—只需在客户端执行http轮询即可。
如果你不想轮询或有太多的客户端,那么你可以使用类似signar的东西进行通知。

如果我必须实现你的“TCP响应程序”,我可能会将其实现为windows服务,并让ASP.NET应用程序和Winform客户端联系它(例如,为了避免回收ASP.NET等的问题)

也就是说,我可以想出无数更简单的方法来实现您想要达到的效果(让winform客户端了解新订单),例如

  • 使用您提到的队列。Windows附带MSMQ(您需要在“添加Windows功能”中启用它)。从C#使用MSMQ。你也可以
  • 公开,并让客户端通过调用其某个页面通知正在侦听的ASP.NET服务器
  • 将订单写入数据库,并从客户端/使用System.Data.SqlClient.SqlDependency对其进行轮询,以了解何时发生更改

甚至用FileSystemWatcher将命令写入共享文件夹中的文件都可以(尽管我可能不建议这样做)

关键是要避免http轮询。还没听说过信号员,我会查一查。WCF建议+1。WCF服务可以处理网络TCP绑定和HTTP绑定。