这是我的服务代码。我像所有最佳实践文章建议的那样抛出错误 - 以WebFaultException的形式。
现在当我向
{"ExceptionDetail":null,"ExceptionType":null,"Message":"由于内部错误,服务器无法处理请求。如需了解更多有关该错误的信息,请在服务器上启用IncludeExceptionDetailInFaults(从ServiceBehaviorAttribute或配置行为),以向客户端发送异常信息,或按照Microsoft .NET Framework 3.0 SDK文档打开跟踪并检查服务器跟踪日志。","StackTrace":null}
我尝试在web.config中启用
[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}
我尝试在web.config中启用
includeExceptionDetailInFaults
,消息确实有些变化,但我仍然没有看到我的"TESTERROR"出现在任何地方!