ASP.NET Web API自定义ReasonPhrase打破了自托管应用程序

时间:2012-12-25 17:48:01

标签: .net asp.net-web-api

当自托管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);

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

There's一个回答说这是卡西尼号的错误,我也在asp.net论坛上发现了一个关于卡西尼号错误的提及。

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

1 个答案:

答案 0 :(得分:2)

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

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