我正在用C#编写OData webservice,我需要一些关于如何处理无效请求的建议?如果客户在他们不再拥有的物品上请求服务,则会出现一个错误示例。我希望能够确切地向顾客报告为什么它是无效的,因为有多种可能的原因。OData中的无效请求处理
非常感谢
我正在用C#编写OData webservice,我需要一些关于如何处理无效请求的建议?如果客户在他们不再拥有的物品上请求服务,则会出现一个错误示例。我希望能够确切地向顾客报告为什么它是无效的,因为有多种可能的原因。OData中的无效请求处理
非常感谢
我会推荐使用FaultContracts作为OperationContract的一部分。您可以像DataContracts一样定义它们,并像处理自定义异常一样处理异常。
[OperationContract]
[FaultContract(typeof(ItemNotOwned))]
Item GetItem(int ItemId);
您将ItemNotOwned定义为单独的合同定义。
检查出来的MSDN:http://msdn.microsoft.com/en-us/library/ms733841.aspx#Y323
只是抛出一个异常,并包含该信息的消息。该异常将被序列化为发送给客户端的响应。如果您不关心响应状态代码,则会发生任何异常并且客户端将收到500(内部服务器错误)。如果你想要一个特定的状态码,抛出一个DataServiceException的实例。
看看使用QueryInterceptors和ChangeInterceptors
看起来像它只是为SOAP。我使用REST –
哦,是的,错误只是SOAP。如果您使用HttpClient进行REST,那么正常的异常将被序列化。不过,你需要在电线的另一端放松它们。 –