Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.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#IIS托管网站和同一台计算机上的C#windows服务之间进行通信_C#_.net_Wcf_Ipc_Named Pipes - Fatal编程技术网

在C#IIS托管网站和同一台计算机上的C#windows服务之间进行通信

在C#IIS托管网站和同一台计算机上的C#windows服务之间进行通信,c#,.net,wcf,ipc,named-pipes,C#,.net,Wcf,Ipc,Named Pipes,我在寻找最简单的沟通方式 一个用C#编写逻辑并托管在IIS中的网站 将处理长时间运行的操作的C#windows服务 从网站 他们都在同一台机器上。我以前使用过windows服务中托管的WCF服务,但我认为WCF不再使用或改进了 理想情况下,通信将像调用C#方法一样简单,而不必担心JSON/XML序列化和反序列化,并且不会有WCF服务的所有开销 我在网上发现的其他交流方式有 套接字-我无法找到一种方法让它在TCP端口上连续侦听而不在无限循环中旋转 命名管道-看起来很有希望,但我以前从未使用过,所

我在寻找最简单的沟通方式

  • 一个用C#编写逻辑并托管在IIS中的网站
  • 将处理长时间运行的操作的C#windows服务 从网站
  • 他们都在同一台机器上。我以前使用过windows服务中托管的WCF服务,但我认为WCF不再使用或改进了

    理想情况下,通信将像调用C#方法一样简单,而不必担心JSON/XML序列化和反序列化,并且不会有WCF服务的所有开销

    我在网上发现的其他交流方式有

    • 套接字-我无法找到一种方法让它在TCP端口上连续侦听而不在无限循环中旋转
    • 命名管道-看起来很有希望,但我以前从未使用过,所以很难评估
    • 进程间通信。仍然不确定这是什么,除了一个泛泛的术语,它是指进程之外的通用通信方式,比如共享文本文件

    WCF肯定是活的,并且是SOAP服务的当前.NET实现。WebAPI是基于REST的(尽管您也可以使用WCF进行REST)。WCF为您提供了通信协议方面的灵活性,而WebAPI仅限于HTTP。在您的场景中,使用网络命名管道的WCF可能是最好的机制,但是如果任务真的长时间运行,您可能希望使用单向操作(I.E,Fieland and Mead)。还可以考虑如果Windows服务在您需要与之交谈时没有运行的话,您想做什么。消息队列(可能使用WCF-它对MSMQ有很好的支持)可能更合适。但是,如果不知道您需要什么样的性能、可靠性、易实现性、事务性等,就很难知道该推荐什么。WCF肯定是活的,而且很好,以及SOAP服务的当前.NET实现。WebAPI是基于REST的(尽管您也可以使用WCF进行REST)。WCF为您提供了通信协议方面的灵活性,而WebAPI仅限于HTTP。在您的场景中,使用网络命名管道的WCF可能是最好的机制,但是如果任务真的长时间运行,您可能希望使用单向操作(I.E,Fieland and Mead)。还可以考虑如果Windows服务在您需要与之交谈时没有运行的话,您想做什么。消息队列(可能使用WCF-它对MSMQ有很好的支持)可能更合适。但是,如果不知道您需要什么样的性能、可靠性、易实现性、事务性等,就很难知道该推荐什么。