概要
[WebMethod] の例外シリアル化の動作は、「同じサーバー上のすべて」での使用と「実際の使用」で異なります。
状況
次のように、 foo.aspxに Web サービスを実装しています。
[WebMethod]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json, XmlSerializeString = false)]
public static Fruit InsertUpdateFruitWebService()
{
return FruitHelper.InsertUpdateFruit();
}
webservice は、jQuery - $.ajax を使用してbar.aspx内から呼び出されます。
InsertUpdateFruitで何らかの問題が発生した場合、例外がスローされ、$.ajax 内で指定された「エラー」コールバックが呼び出され、JSON blob が引数として「エラー」コールバック関数に渡されます。
良いニュース
ブラウザとサーバーが同じマシン上にある場合、これはすべて正常に機能します。
あまり良くないニュース
ブラウザとサーバーが同じマシンではない場合、「エラー」コールバックに引数として渡される JSON blob で得られるのは次のとおりです。
{"Message":"There was an error processing the request.","StackTrace":"","ExceptionType":""}
スタックトレース、例外の詳細などはありません。
質問
誰かがこれを引き起こす可能性のある方向に私を向けることができますか?