我们拥有自己的Web API服务,后者又调用第三方WCF Web服务。
我正在尝试提出一种模式,我们从WCF获得响应,其中将有response.status和response.errorDescription。基于这些属性,我们将转换为用户友好的错误消息。然后,需要通过Web API或Controller / Action将此消息传递给客户端。
想知道是否已经存在将响应状态和消息传递给客户端的模式。
此外,所有WCF Web服务都必须返回响应状态,以便客户端可以先查看此状态并处理数据吗?这里最好的练习模式是什么?
感谢。
答案 0 :(得分:0)
如果您可以控制第三方WCF,则需要调整他们的合同以按照您希望的方式发送响应。
我们运行了许多具有相同模式的服务。我们向客户公开这样的合同。
..............................................
[OperationContract]
ResponseType GetData (string request)
..............................................
[DataContract]
public class ResponseType
{
[DataMember]
public string Status {get;set;}
public string ErrorDescription {get;set;}
}
现在,当客户端获得响应时,他们可以查找状态和ErrorDescription。
这是一种主要推荐的模式。
还有另一种方法可以做到这一点,这是不推荐的,也很复杂。这是通过创建一个WCF扩展来拦截响应并转换为有意义的结果。