概括
[WebMethod] 的异常序列化行为在“所有在同一服务器上”使用和“真实世界使用”之间有所不同。
情况
我在foo.aspx中实现了一个 web 服务,如下所示:
[WebMethod]
[ScriptMethod(UseHttpGet = false, ResponseFormat = ResponseFormat.Json, XmlSerializeString = false)]
public static Fruit InsertUpdateFruitWebService()
{
return FruitHelper.InsertUpdateFruit();
}
使用 jQuery - $.ajax从bar.aspx中调用 Web 服务。
如果在InsertUpdateFruit中发生某种问题,则会引发异常,则会调用 $.ajax 中指定的“错误”回调,并将 JSON blob 作为参数传递给“错误”回调函数。
好消息
当浏览器和服务器在同一台机器上时,一切正常。
不太好的消息
当浏览器和服务器不是同一台机器时,您在作为参数传递给“错误”回调的 JSON blob 中得到的所有内容是:
{"Message":"There was an error processing the request.","StackTrace":"","ExceptionType":""}
没有堆栈跟踪,没有异常详细信息等。
问题
谁能指出我可能导致这种情况的方向?