1

MVC4 および WCF ベースの Web アプリケーションがあります。

クライアントの要件により、データベーススキーマを修正する代わりに、ストアドプロシージャからエラーを発生させることを余儀なくされています...とにかく。

SQL Server 2008 を使用しており、プロシージャで RaiseError メソッドを使用してこれらのエラーを返しています。

エラーは次のようなものです:

  • レコードは既に存在します
  • レコードは削除されました。

サービス --calls-- DataManager --calls-- DataAccess (エラー) -- プロシージャを呼び出します。

エラーをUIに渡す方法など、いくつかのポインターが非常に役立ちます。これらのエラーをデータ アクセス層からサービス層にどのように持ち込むことができますか?

4

1 に答える 1

1

呼び出し元がこれらのエラーを成功したサービス応答や必要に応じて他のエラーと区別するために使用できるカスタム SOAP エラーを返します。

SQL 例外をキャッチし、サービスのグローバル エラー ハンドラ (つまり、IErrorHandlerおよび関連するIServiceBehavior ) でカスタム エラーを返します。

MSDN には、これらのオプションを説明するサービス エラー処理の役立つ概要があります。このSO の質問も良いリソースです。

于 2013-09-16T23:01:03.867 に答える