代码之家  ›  专栏  ›  技术社区  ›  MojoFilter

查找不带operationContext.current的服务实现的终结点地址

wcf
  •  0
  • MojoFilter  · 技术社区  · 15 年前

    我有一个WCF服务,在该服务中,我想为该服务实现的几个不同契约,基于配置的端点地址执行一些初始化类型的操作。

    可以从几个不同的服务主机中承载服务。有一个控制台应用程序可以创建一个服务主机,一个Windows服务可以创建一个服务主机,它位于一个IIS主机中,我也非常希望能够使用Visual Studio服务主机进行调试。

    有什么方法可以参考 ServiceHostBase 哪个创建了服务实例而不在服务操作中?或者是一种更好的(阅读:更复杂)方法来确定服务所服务的端点是什么?

    1 回复  |  直到 15 年前
        1
  •  1
  •   tomasr    15 年前

    让我直接看看我是否了解这一点:您有一个从多个servicehosts公开的服务实现,并且您想为每个servicehost做一些不同的初始化?还是每个端点都暴露?

    在我看来,这里有几个选择,但这完全取决于你想做什么。如果初始化是按主机进行的,那么为什么不使用您自己的service host实现并在那里进行初始化而不使用服务呢?.

    我之所以这样问,是因为从您的描述中不清楚您的服务的实例模式是什么,或者您何时想要运行初始化代码本身。

    如果出于任何原因您不能这样做,另一个值得探索的选项可能是在applyDispatchBehavior()期间在自定义的ISeviceBehavior中进行初始化,您可以访问服务主机和服务描述。