【问题标题】:Can I add custom WCF Behaviors from my custom Binding?我可以从我的自定义绑定中添加自定义 WCF 行为吗?
【发布时间】:2011-06-14 18:45:03
【问题描述】:

我正在编写自定义 WCF 绑定,并且我只想在处理消息时出现问题时才运行一些代码。我的想法是添加一个自定义 IOperationInvoker 并在消息处理过程中使用 try/catch。我找不到从绑定中添加自定义行为的方法。我想避免为任何想要使用此绑定的服务声明绑定和行为。

我使用的模型是 Net.Msmq 绑定,您可以在其中通过绑定声明重试处理。这基本上就是我试图复制的内容,但通过我自己的绑定。

那里有 WCF 大师吗?

【问题讨论】:

    标签: c# wcf


    【解决方案1】:

    我认为这是不可能的。绑定不能添加行为。您可以检查默认 WCF 绑定 - 例如 WebHttpBinding 始终与 WebHttpBehaviorWebScriptEnablingBehavior 结合使用,但 WebHttpBinding 无法添加它们,您必须手动添加它们。为了解决这个不便,WCF 提供了WebServiceHost 类,可以使用它来代替常见的ServiceHost。 WebServiceHost 为 REST 服务进行了所有需要的配置 - 它添加了 WebHttpBehavior 和使用 WebHttpBinding 的 enpoint。您可以使用相同的方法。

    但我认为这不是一个好方法。 ReliableSession 已经处理了重试处理,并且它作为通道实现,因此您可能应该尝试相同的方式。在这种情况下,您将不需要处理行为问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-04
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-18
      • 1970-01-01
      相关资源
      最近更新 更多