这是我的服务代码。就像所有最佳实践文章所建议的那样,我以 WebFaultException 的形式抛出一个错误。
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class API
{
[OperationContract]
[WebGet()]
public int MyMethod()
{
throw new WebFaultException<string>("TESTERROR", HttpStatusCode.BadRequest);
}
}
现在,当向我发送一个请求时,http://localhost:1389/API.svc/MyMethod
我得到的是这个 JSON 对象:
{"ExceptionDetail":null,"ExceptionType":null,"Message":"由于内部错误,服务器无法处理请求。有关错误的更多信息,请打开 IncludeExceptionDetailInFaults(来自 ServiceBehaviorAttribute 或来自配置行为),以便将异常信息发送回客户端,或根据 Microsoft .NET Framework 3.0 SDK 文档打开跟踪并检查服务器跟踪日志。","StackTrace":null}
我尝试includeExceptionDetailInFaults
在我的 web.config 中启用,消息确实发生了一些变化,但我仍然没有在任何地方看到我的“TESTERROR”!