问题标签 [iservicebehaviors]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
111 浏览

wcf - 在服务或服务合同上设置的 EndPointDispatcher 和 Attributes

我正在使用 WCF 和 IServiceBehaviors,并添加 EndPointDispatchers。

我想检查的是在 EndPointDispatcher 上是否有任何方法可以检查服务或服务合同上设置了哪些属性?

这样做的原因是,如果 Service 具有属性,则将添加一个新的 Inspector,否则将被忽略。

0 投票
1 回答
3355 浏览

.net - 在 WCF 中使用类级别属性实现 IErrorHandler

通过配置文件让它工作没有运气,所以决定尝试通过类级别属性走更健壮的路线。如果我可以让它工作,那么它显然是一种在服务层的故障中包装异常的好方法,而无需重复大量代码。

然而,属性中的代码似乎永远不会运行 - 尽管定义属性的代码编译得很好并且被 IDE 识别。关于解决这个问题,我已经没有什么要读的了 - 只是要处理的异常就会被抛出。

我还借用并删除了在 r​​orys 网站上的 CodePlex 上找到的一段代码,以在不改变其功能的情况下简化此问题(删除了冗余重载)

这让我发疯......请帮忙!:D

Rory Primrose - 属性实现

Rory Primrose - IErrorHandlerImplementation

编码:

服务接口和实现

KnownErrorHandler 实现:

属性定义——怀疑问题出在这里。我相当确定这与我使用这段代码的方式有关。

0 投票
2 回答
665 浏览

c# - 在 WCF 操作中修改返回值

我想确保在 WCF 中返回数据集的所有操作都在 Property SchemaSerializationMode 中设置了 .ExcludedSchema 值。

我可以用 CustomBehavior 做到这一点吗?我试图实现一个 CustomDispatchBehavior 并添加一个 MessageInspector,但是 AfterReceiveRequest 和 BeforeSendReply 方法不允许我对返回值做任何事情。在 BeforeSendreply 中,返回值已经被序列化了。我在哪里可以插入我的代码?

0 投票
1 回答
1945 浏览

wcf - WCF 自定义错误处理程序有条件地返回 xml 或 json?

open311 协议需要支持以下格式的端点:

  • 域/requests.xml
  • 域/requests.json

第一个端点接受 xml 请求,第二个 json 请求。

协议进一步指定错误应该以请求格式(xml 或 json)返回。

在实现 ServiceBehaviorErrorHandler 时,我发现无法在 ProvideFault 方法中确定请求格式(xml 或 json)。所有示例都返回 jsonxml。

如何确定请求格式,以便以相同格式返回错误消息?我的实现:

0 投票
0 回答
183 浏览

c# - 在不调用方法的情况下调用 WCF IServiceBehavior 和 IOperationBehavior

我希望能够添加一些行为,而不必调用强制它们使用的方法。一个典型的例子是通过 [InvokeErrorSupport] 属性,其目的是在部署服务时触发测试电子邮件,以确保错误电子邮件能够正常通过。因此,将魔术字符串保存在请求参数对象中,一个或多个非业务逻辑相关的 [OperationContract] 方法等会弄脏合同(记住单一职责)。我们非常乐意在其他情况下潜在地调用一个方法,例如我们的 [Heartbeat] 行为和类似行为。

我写这些行为没有问题。这是 WCF 的一个很棒的功能,但现在看起来我将不得不向我调用的合约添加一些方法,例如我将在启动后锁定的 Initialize。由于在这种情况下以及更多情况下,服务通常是面向外部的,因此我们希望避免 DoS 攻击等。

我已经戳过客户端并且无论如何都看不到,老实说,这在一定程度上是有道理的,这个功能不存在。

任何人都可以提供任何建议吗?

0 投票
0 回答
33 浏览

wcf - 如何使用 IErrorHandler 和 IServiceBehavior .Net Standard 2.1

如何在 .NET Standard 2.1 项目中使用 IErrorHandler 和 IServiceBehavior?我尝试添加 nuget System.ServiceModel.Primitives 但仍然无法正常工作,而且我也找不到任何方法。