【发布时间】:2013-09-27 12:14:02
【问题描述】:
我有两个应用程序使用同一个 wcf 服务实例。这两个应用程序将始终成对启动,因此我可以拥有这两个应用程序的第二个、第三个或第四个实例。这是否意味着我需要一个由 Windows 服务、IIS 或控制台应用程序托管的 wcf 服务,并为所有四个实例对使用一个公共端点地址?或者,如果我动态硬编码端点地址,使得每一对在两个应用程序之一中都有自己的和自己的主机,这是否意味着每一对都可以访问自己的服务?
我可能可以在台式机上对此进行测试,但我认为有经验的人可以为我节省大量的编码时间来尝试解决这个问题。
更新(为清楚起见):
这个问题的原因是由于我正在处理的特殊情况。场景是这两个应用程序涉及一个我正在开发的客户端 exe 和一个我无法控制的第三方 exe。我可以开发一个第三方exe可以加载的dll。在我的第三方应用程序 dll 和客户端 exe 之间,WCF 服务旨在桥接进程空间,以允许两者通信事务信息。这将允许客户端 exe 控制第三方 exe 及其管理的文件。
【问题讨论】:
-
如果没有更完整的描述,很难回答,(服务是否仅用于在两个应用程序之间进行通信,服务是否有状态?这是一个有很多客户端的应用服务器吗?我们在谈论双工通道吗? ) 但我想知道您是否不能共享相同的服务/端点并让它传递具有关联应用程序对 id 的消息,以便服务可以适当地路由它们?
-
我基本上是在学习 WCF 概念时应用的,所以不确定服务状态是什么意思。是的。它用于在两个应用程序之间传递信息。它确实使用双工通道,因为要实现这一点。它基本上是一个应用程序使用服务来管理另一个应用程序中的事务。
-
现在我确实有一个由第三个主机应用程序托管的集中式服务。它工作得很好,但后来我想知道是否最好成对管理这两个,而不是对任意数量的对进行集中式服务。这引发了一个问题,如果我在一个应用程序中自行托管并使用单独的端点(地址是动态的,但只能在每对的两个应用程序之间理解),是否会为每对创建一个单独的服务实例?还是我误解了服务实例是如何创建的?
-
建议您在问题正文中发表澄清。
-
服务生命周期(会话)和端点是单独的问题。有状态服务是在调用之间“记住”信息的服务。