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
WCF多个服务-相同的支持类,不同的服务行为_Wcf_Service - Fatal编程技术网

WCF多个服务-相同的支持类,不同的服务行为

WCF多个服务-相同的支持类,不同的服务行为,wcf,service,Wcf,Service,我有一个单一的服务,一个支持二进制文件,我想将其配置为具有两个不同的端点。问题是,我希望每个端点都有不同的serviceBehavior,以指定不同的安全需求 例如: 这样的WCF配置有效吗,或者可以用另一种格式实现吗?我不确定您是否可以仅从配置中实现,但存在一种基于接口公开的扩展点的代码和配置解决方案。这允许您在端点级别定义 它没有很好的文档记录,因为我不认为它经常被使用。根据: 端点行为是实现IEndpointBehavior的主要行为 修改整个服务或客户端运行时的机制 对于特定端点 向

我有一个单一的服务,一个支持二进制文件,我想将其配置为具有两个不同的端点。问题是,我希望每个端点都有不同的serviceBehavior,以指定不同的安全需求

例如:



这样的WCF配置有效吗,或者可以用另一种格式实现吗?

我不确定您是否可以仅从配置中实现,但存在一种基于接口公开的扩展点的代码和配置解决方案。这允许您在端点级别定义

它没有很好的文档记录,因为我不认为它经常被使用。根据:

端点行为是实现IEndpointBehavior的主要行为 修改整个服务或客户端运行时的机制 对于特定端点

向服务添加端点行为有两种机制

  • 将行为添加到“行为”属性

  • 实现一个自定义BehaviorExtensionElement,该元素扩展 配置


  • 第一个选项的具体示例已经存在,但我找不到关于第二个选项的任何信息。

    我不确定您是否可以仅从配置中执行此操作,但存在一个基于接口公开的扩展点的代码和配置解决方案。这允许您在端点级别定义

    它没有很好的文档记录,因为我不认为它经常被使用。根据:

    端点行为是实现IEndpointBehavior的主要行为 修改整个服务或客户端运行时的机制 对于特定端点

    向服务添加端点行为有两种机制

  • 将行为添加到“行为”属性

  • 实现一个自定义BehaviorExtensionElement,该元素扩展 配置

  • 有第一种选择的具体例子,但我找不到第二种的任何东西

    <service behaviorConfiguration="behavior1" name="MyServiceClass">
      <endpoint address="endpoint1" bindingConfiguration="binding1" contract="IMyServiceContract"/>
    </service>
    <service behaviorConfiguration="behavior2" name="MyServiceClass">
      <endpoint address="endpoint2" bindingConfiguration="binding2" contract="IMyServiceContract"/>
    </service>