2011-02-02 40 views
9

出於某種原因的範圍,我得到一個錯誤試圖返回ASP.NET MVC3 HttpStatusCodeResult狀態說明 - 指定的參數已超出有效值

new HttpStatusCodeResult(500, statusDescription);

在我MVC3應用程序。如果我改變我的結果返回new HttpStatusCodeResult(500, "statusDescription");

然後它會正常工作它吹了錯誤

Specified argument was out of the range of valid values. 
Parameter name: value 
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. 

Exception Details: System.ArgumentOutOfRangeException: Specified argument was out of the range of valid values. 
Parameter name: value 

Source Error: 

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. 

Stack Trace: 

[ArgumentOutOfRangeException: Specified argument was out of the range of valid values. 
Parameter name: value] 
    System.Web.HttpResponse.set_StatusDescription(String value) +4877926 
    System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +785441 
    System.Web.Mvc.Controller.ExecuteCore() +159 
    System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +335 
    System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +62 
    System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +20 
    System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +54 
    System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +453 
    System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +371 


Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.372 

,有沒有在狀態說明某種長度的限制?

回答

22

看着源碼,or at the documentation,它不能超過512個字符。

+4

多年後回到這個答案,它仍然讓我生氣這個錯誤是多麼愚蠢。即使他們必須這樣做,事實上它不是一個有意義的錯誤信息,並且加上它不會因設置太長的價值而失敗。 just_ಠ – 2015-01-01 00:17:36

相關問題