5

我有一个 wcf 服务。服务本身(继承ServiceContract的类)有一个有时会抛出异常的构造函数。如果服务失败,我想向用户显示一条消息。我应该像使用服务方法一样使用故障吗?

4

1 回答 1

2

故障通常意味着跨服务边界提供错误信息,并且在大多数情况下,故障是作为对格式错误或无效请求消息的响应而发送的。鉴于此,我会说这里的错误没有意义。

我同意上述评论者的观点,即服务类的构造函数应避免引发异常。如果您的服务是会话式的,您可能需要考虑一种设计,在该设计中,您执行这种类型的初始化作为特定服务操作的结果。这可以在 WCF 中通过在 [OperationContract] 属性中使用“ IsInitiating = true ”标记此类服务操作来完成。那时,您能够生成故障并希望它到达预期的客户端。

于 2009-08-27T16:46:32.513 回答