Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.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# 多个windows服务使用具有多个端点的同一wcf?_C#_Wcf_Windows Services_Endpoints_Base Address - Fatal编程技术网

C# 多个windows服务使用具有多个端点的同一wcf?

C# 多个windows服务使用具有多个端点的同一wcf?,c#,wcf,windows-services,endpoints,base-address,C#,Wcf,Windows Services,Endpoints,Base Address,需要一些帮助,以最好的方法,有人可能已经采取了在过去的以下问题 通过调用第三方COM的windows服务托管WCF。 不幸的是,COM是静态的,这意味着它在一个进程作用域下运行时只使用一个内核 为了解决这个问题,我想复制windows服务(我在安装过程中很容易使用不同的服务名称),创建另一个进程作用域,以便COM互操作将使用另一个核心 问题:如何在不同的地址下托管每个服务,以便客户端可以调用他们想要使用WCF方法的任何服务 如果我使用不同的端点并将每个windows服务指向不同的端点,我会收到一

需要一些帮助,以最好的方法,有人可能已经采取了在过去的以下问题

通过调用第三方COM的windows服务托管WCF。 不幸的是,COM是静态的,这意味着它在一个进程作用域下运行时只使用一个内核

为了解决这个问题,我想复制windows服务(我在安装过程中很容易使用不同的服务名称),创建另一个进程作用域,以便COM互操作将使用另一个核心

问题:如何在不同的地址下托管每个服务,以便客户端可以调用他们想要使用WCF方法的任何服务

如果我使用不同的端点并将每个windows服务指向不同的端点,我会收到一条错误消息,指出每个基址只允许一个主机

我是否可以为同一协议添加多个基址(可能不同的端口),并将它们链接到不同的主机服务


示例非常好:)。

我觉得您确实希望WCF服务使用此COM对象的多个实例。您可以启动新的线程(每个STA),这些线程实例化并使用它们自己的COM对象,这样您就可以一次使用多个COM对象。当然,您必须将任何结果传回WCF线程


如果您想托管多个WCF服务实例,这取决于您如何托管。在ii6中,您可以简单地创建另一个.svc文件。它将在与该应用程序池中的所有其他内容相同的进程中运行该服务。通过为服务分配不同的应用程序池,可以使其在不同的进程中运行。我不确定你是否可以在每个.svc的基础上做这件事。如果您使用的是IIS 7,则可以执行.svc操作或使用IIS7中的Windows process activation service(WAS)支持,在这种情况下,您基本上可以在配置中创建另一个元素。我相信您可以在Windows Server 2008 R2中使用WAS,而不必真正使用IIS…

已经尝试过,但第三方软件的实现方式仍然意味着只使用了一个线程:(.已经尝试过,但第三方软件的实现方式仍然意味着只使用了一个线程:(.他们还要求提供一个系统,使您可以在不同的机器上拥有多个服务,因此具有强大的内置弹性。您给了我一个想法,不过我可能会尝试不同的方法,谢谢Peter。下面稍微改变一下问题-是否可以在多个应用程序(windows服务)上承载相同的WCF通过使用不同的端点或类似的想法来控制?