2

自托管ASP.NET Web API服务时,我想使用自定义ReasonPhrase来提供有关请求结果的更详细信息。但是当我提供它时,客户端代码根本无法收到任何答案,例如这个答案会导致No Response客户端错误:

return new HttpResponseMessage(code) { ReasonPhrase = message };

当我使用此代码时也会发生同样的情况:

HttpResponseMessage response = request.CreateResponse(code, result);
response.ReasonPhrase = message;
return response;

但如果我只使用

return new HttpResponseMessage(code);

然后客户端成功收到响应。

一个答案说这是一个 Cassini 的错误,我还在 asp.net 论坛上发现了一个提到这个 Cassini 的错误。

那么如何ReasonPhrase在自托管ASP.NET Web API服务中允许自定义呢?如果可能,我想避免使用IIS托管此服务。

4

1 回答 1

2

我使用了非英语文本ReasonPhrase(实际上是俄语)。当我将文本更改为英文时,一切正常。在这里,我找到了一个ReasonPhrase可能只包含 ASCII 字符的答案。

看起来这不是卡西尼号的问题,我几乎不确定这是否是一个问题。但是令人沮丧的是,我们不能使用本地化ReasonPhrase

于 2012-12-25T18:06:22.463 回答