2013-08-23 46 views
3

我正在使用.NET MVC。HttpResult(HttpStatusCode.NoContent)創建響應「OK」

當我返回new HttpResult(HttpStatusCode.NoContent);是創造了一個狀態代碼的對象= 200:

{ServiceStack.Common.Web.HttpResult} 
    AllowsPartialResponse: false 
    ContentType: null 
    FileInfo: null 
    Headers: Count = 0 
    IsPartialRequest: false 
    Options: Count = 0 
    RequestContext: null 
    Response: NoContent 
    ResponseFilter: {ServiceStack.Common.Web.HttpResponseFilter} 
    ResponseStream: null 
    ResponseText: null 
    Status: 200 
    StatusCode: OK 
    StatusDescription: null 
    Template: null 
    View: null 

呃..什麼?

+0

看起來你正在使用ServiceStack。服務在哪裏託管,IIS或其他服務?這可能會影響狀態碼。 – rycornell

+0

@rycornell它託管在IIS上。 – BanksySan

回答

4

你需要的,如果你想使用重載的構造函數,一個HttpStatusCode

如果你看一下HttpResult的代碼,你可以看到你調用構造函數是這個指定在構造一個狀態描述:

public HttpResult(object response) : this(response, null) {} 

要傳遞在實際上是被用作響應的HttpStatusCode對象(任何對象可以是一個響應)。還有一種構造函數,你應該用在這裏:

public HttpResult(HttpStatusCode statusCode, string statusDescription)

new HttpResult(HttpStatusCode.NoContent, "No Content"); 
+0

好點,邁克!謝謝。 – BanksySan