当自托管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
来托管此服务。
答案 0 :(得分:2)
我使用了ReasonPhrase
的非英语文本(实际上是俄语)。当我将文本更改为英语时,一切正常。 Here我找到了ReasonPhrase
可能只包含ASCII字符的答案。
看起来这不是卡西尼的问题,我几乎不确定这是否是一个问题。但令人不安的是,我们无法使用本地化的ReasonPhrase
。