0

我有一个基本的 WCF 服务:

[OperationContract]
[WebInvoke(Method = "POST",
    ResponseFormat = WebMessageFormat.Json, 
    RequestFormat = WebMessageFormat.Json,
    BodyStyle = WebMessageBodyStyle.Bare,
    UriTemplate = "object/{id}")]
void MyMethod(String id, MyType myObject);

当我使用有效的 JSON 数据调用此服务时,它按预期工作。当我使用无效的 JSON 数据调用它时,我会收到请求错误,这也是意料之中的。

但是,此错误包含堆栈跟踪和一般消息。

我的问题是如何捕获此错误并返回我自己的消息或 html 页面?

4

1 回答 1

1

您可以<customErrors /><system.web>web.config 部分使用和/或您可以在 Global.asax 上使用 Application_Error 事件:

protected void Application_Error(object sender, EventArgs e)
{
       // Your error handling stuff
       System.Web.HttpContext context = HttpContext.Current;
       System.Exception ex = context.Server.GetLastError();

       context.Server.ClearError();

       Response.Redirect("CustomError.aspx");
}
于 2013-07-03T19:00:24.023 回答