HttpResponseMessage ReasonPhrase最大长度?

ale*_*eha 3 asp.net-mvc asp.net-web-api

我有以下代码:

public void Put(int id, DistributionRuleModelListItem model)
{
    CommonResultModel pre = new BLL.DistributionRules().Save(id, model, true);
    if(!pre.success){
        DAL.DBManager.DestroyContext();
        var resp = new HttpResponseMessage(HttpStatusCode.InternalServerError)
        {
            Content = new StringContent(string.Format("Internal server error for distruleId: {0}", id)),
            ReasonPhrase = pre.message.Replace(Environment.NewLine, " ")//.Substring(0,400)
        };
        throw new HttpResponseException(resp);
    }
}
Run Code Online (Sandbox Code Playgroud)

有一种逻辑可以将pre.message的值设置为an exception.ToString(),如果时间太长,则会收到以下应用程序异常:

指定的参数超出有效值范围。参数名称:值

但是,如果我取消注释,.Substring(0,400)一切都很好,并且在客户端,我会收到正确的响应,并且可以将其显示给用户。

ReasonPhrase的最大长度是多少?我找不到任何指定此值的文档。

小智 5

我找不到任何地方记录的最大值,但是通过反复试验,我发现它的最大长度为512字节。