我有一个wcf服务。服务本身(继承ServiceContract的类)有一个构造函数,有时会抛出异常。如果服务失败,我想向用户显示一条消息。我应该像使用服务方法一样使用故障吗?
答案 0 :(得分:2)
故障通常意味着跨服务边界提供错误信息,并且在大多数情况下,故障作为对格式错误或无效请求消息的响应而发送。鉴于此,我会说故障在这里没有意义。
我同意上述评论者的意见,即服务类的构造函数应该避免抛出异常。如果您的服务是会话服务,您可能需要考虑一种设计,您可以根据特定服务操作执行此类初始化。这可以通过在[OperationContract]属性中使用“IsInitiating = true”标记这样的服务操作在WCF中完成。此时,您会能够产生错误并希望它能够到达目标客户端。