7

MVC3でRESTAPIを作成しましたが、更新または作成操作が失敗したときに説明メッセージを返す必要があります。

のようなメッセージ"The update operation failed while creating the customer object."は十分ではありません。

私の次の考えは、次のようなものを返す例外からメッセージを取得することでした。

The UPDATE statement conflicted with the FOREIGN KEY constraint "FK_Business_Category". The conflict occurred in database "MyDb_Dev", table "dbo.Category", column 'CategoryID'.
The statement has been terminated.

情報が多すぎるようです。例外メッセージを解析できcolumn "CategoryID"ます...それが信頼できるかどうかはわかりません。

フィールドの属性を設定して、フィールドが失敗したときにそのフィールドのエラーの説明を取得できるようにすることはできますか?私は提案を受け入れています。

4

2 に答える 2

0

Exception.Dataを使用する必要があるようです。詳細については、こちらをご覧ください。

http://msdn.microsoft.com/en-us/library/system.exception.data.aspx

于 2012-05-14T18:34:13.117 に答える
0

問題のあるコードをtrycatchブロックに配置します。catchセクションのどこかにブレークポイントを設定します。次に、 ModelStateというウォッチアイテムを追加します。

ModelState.IsValidは、モデルが有効(またはエラー)であるかどうかを通知します。

ModelState.Keysは、モデルに含まれるフィールドのリストを表示します。

ModelState.Valuesは、それぞれのフィールドのデータ値を表示します。それぞれにドリルダウンすると、そのデータ項目に含まれるエラーの数を示す[エラー]ノードが表示されます。エラーが0を超えるものを探します。そのインデックスをメモしてから、ModelState.Keys [インデックスメモ]に戻って、エラーの原因となっているフィールドを確認します。

正直なところ、ここまで到達すると、この種のエラーを整理するために必要なすべての情報が得られます。私はあなたが知っているようにそれを任せます。

于 2012-05-25T06:55:47.117 に答える