我有一个用C#编写的web服务。当服务器上发生错误时,我想通知用户客户端。通过抛出异常服务器端,然后将其发送到我的错误处理程序客户端,这可以正常工作。
但是,当我抛出异常时,我想设置一个属性来描述我认为错误在这一点上有多严重。因此,我可以决定客户端如何显示错误:
WebService.Method(some_value, handle_response, handle_error);
function handle_response (response) {
//Do something...
}
function handle_error (error) {
if(error.level === 'Critical') {
//Show critical message.
} else if(error.level === 'Warning') {
//Show warning message.
} else
...
}
}
到目前为止,我的解决方案是创建一个继承自System.Exception
的自定义异常。
我的webservice返回JSON
格式化结果。
我的问题是如何让我的属性通过客户端JSON响应?
答案 0 :(得分:3)
网络服务:
public Response zzz()
{
Response result;
try
{
...
}
catch(MyException)
{
result.HasError = true;
result.Error.Level = Normal;
result.Error.Message = "It's OK.";
}
catch(Exception)
{
result.HasError = true;
result.Error.Level = Critical;
result.Error.Message = "!!!!";
}
}
然后检查Response.HasError