c# – 我可以从自定义绑定中添加自定义WCF行为吗?
发布时间:2020-12-15 21:14:33 所属栏目:百科 来源:网络整理
导读:我正在编写自定义WCF绑定,我只想在处理消息时遇到问题时运行一些代码.我的想法是添加一个自定义IOperationInvoker并在处理消息时使用try / catch.我找不到从绑定中添加自定义行为的方法.我想避免为任何想要使用此绑定的服务声明BOTH绑定和行为. 我正在运行的
我正在编写自定义WCF绑定,我只想在处理消息时遇到问题时运行一些代码.我的想法是添加一个自定义IOperationInvoker并在处理消息时使用try / catch.我找不到从绑定中添加自定义行为的方法.我想避免为任何想要使用此绑定的服务声明BOTH绑定和行为.
我正在运行的模型是Net.Msmq绑定,您可以通过绑定声明重试处理.这基本上是我想要复制的东西,但是通过我自己的绑定. 那里有WCF大师吗? 解决方法
我认为这是不可能的.绑定不能添加行为.您可以检查默认WCF绑定 – 例如,WebHttpBinding始终与WebHttpBehavior或WebScriptEnablingBehavior一起使用,但WebHttpBinding无法添加它们,您必须手动添加它们.为了解决这个不便,WCF提供了WebServiceHost类,可以使用它来代替常见的ServiceHost. WebServiceHost为REST服务提供了所有必需的配置 – 它添加了WebHttpBehavior并使用WebHttpBinding进行enpoint.您可以使用相同的方法.
但我认为这不是一个好方法. ReliableSession已经处理了重试处理,并将其作为通道实现,因此您应该尝试相同的方式.在这种情况下,您不需要处理行为问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |