ChromelyResponse.Status 被忽略

ChromelyResponse.Status is ignored

我想 return 一个带有 ChromelyResponse 的 http 代码 404。但它被忽略并被 200 代码取代。

jquery:

$.ajax({
    url: myLocalUrlToCsharp,
    type: 'POST',
    dataType: "json",
    accepts: "application/json; charset=utf-8",
    data: JSON.stringify(data),
    complete: function (output) {

        // output is always:
        // {
        //  readyState: 4,
        //  responseText: "{\"Data\":\"No Data\"}",
        //  responseJSON : {"Data":"No Data"},
        //  status: 200,
        //  statusText: "Ok"
        // }
    }
});

C#

using Chromely.Core.RestfulService;
...

private static ChromelyResponse Connect(ChromelyRequest request)
{
    return new ChromelyResponse(request.Id)
    {
        Status = 404,
        StatusText = "Not Found",
        Data = "No Data"
    }
}

谁能解释我的错误? 我使用 chromely 和 CefSharp。

注意:有人可以添加标签 chromelychromelyapps 吗?我没有足够的声望。

Github Chromely

根据请求处理的成功(或失败)设置状态。它并非设计为响应数据本身的一部分。如果您希望状态作为 "content" 的一部分,那么它将成为数据的一部分,使用 "Data" 属性.

private static ChromelyResponse Connect(ChromelyRequest request)
{
    var content = new SomeClass() {
        Status = 404,
        StatusText = "Not Found",
        Data = "No Data"
    }
    return new ChromelyResponse(request.Id)
    {
        Data = content
    }
}

另一种方法是创建自定义 HTTP 方案处理程序来覆盖默认行为。请看..Register New Scheme


@mattkol 的复制和粘贴:ChromelyResponse.Status is ignored