C# WCF:如何将数据库错误传递给客户端

C# WCF:如何将数据库错误传递给客户端,c#,.net,sql,C#,.net,Sql,我们有基于MVC4和WCF的web应用程序 由于客户机的要求,我们被迫从存储过程中提出错误,而不是让它们更正数据库模式。。。无论如何 我们使用SQL server 2008,并在过程中使用RaiseError方法返回这些错误 错误如下: 记录已存在 删除记录 等等 服务--调用--数据管理器--调用--数据访问(错误)--调用过程 一些指针将非常有用,比如如何将错误传递给UI。 如何将这些错误从数据访问层引入服务层?返回一个自定义SOAP错误,调用者可以使用该错误将这些错误与成功的服务响应和

我们有基于MVC4和WCF的web应用程序

由于客户机的要求,我们被迫从存储过程中提出错误,而不是让它们更正数据库模式。。。无论如何

我们使用SQL server 2008,并在过程中使用RaiseError方法返回这些错误

错误如下:

  • 记录已存在
  • 删除记录
  • 等等
服务--调用--数据管理器--调用--数据访问(错误)--调用过程

一些指针将非常有用,比如如何将错误传递给UI。
如何将这些错误从数据访问层引入服务层?

返回一个自定义SOAP错误,调用者可以使用该错误将这些错误与成功的服务响应和其他需要的错误区分开来

捕获SQL异常,并在服务的全局错误处理程序(即an和相关)中返回自定义错误


MSDN提供了一系列服务错误处理,说明了这些选项。这也是一个很好的资源。

返回一个自定义SOAP错误,调用者可以使用它来区分这些错误与成功的服务响应和其他需要的错误

捕获SQL异常,并在服务的全局错误处理程序(即an和相关)中返回自定义错误


MSDN提供了一系列服务错误处理,说明了这些选项。这也是一个很好的资源。

您可以将ErrorCode和ErrorMessage添加到数据契约中,并在出现错误时填充这些值。无论是在服务上还是在数据库上引发错误,都需要在服务或业务逻辑上对其进行操作,以使异常成为可能。这样就可以在客户端捕获它。类似于
catch(FaultException)
的内容。类似于faultcontract,您可以尝试一下。谢谢您可以在数据Contract中添加ErrorCode和ErrorMessage,并在出现错误时填充这些值。无论是在服务上还是在数据库上引发错误,都需要在服务或业务逻辑上对其进行操作,以使异常成为可能。这样就可以在客户端捕获它。类似于
catch(FaultException)
的东西。比如faultcontract会尝试一下。谢谢