自托管时 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
如果可能的话托管此服务。
最佳答案
我在 ReasonPhrase
中使用了非英语文本(实际上是俄语)。当我将文本更改为英文后,一切正常。 Here我找到了一个答案,即 ReasonPhrase
可能仅包含 ASCII 字符。
看起来这不是卡西尼号的问题,我几乎不确定这是否是一个问题。但尽管如此,我们无法使用本地化的 ReasonPhrase
仍然令人不安。
关于.net - ASP.NET Web API 自定义 ReasonPhrase 破坏自托管应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14032790/