3

我有一个用 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. 我的网络服务返回一个JSON格式化的结果。

我的问题是如何让我的财产通过客户端 JSON 响应?

4

1 回答 1

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

于 2010-02-26T12:16:02.817 回答