2014-01-11 32 views
0

我們已經有了一個ASP.Net web方法,它不返回任何數據,也就是說不會返回任何數據,該方法是無效的。目前,響應狀態爲200 w/a {{d「:null}。雖然這可以正常工作,但它令我困擾,它不是響應狀態204(無內容),也沒有正文。任何人都知道一種方法來獲得網絡方法返回204如果沒有身體?對於未返回的ASP.Net腳本服務,返回HTTP 204與{「d」:null}

回答

1

好吧,當我發佈時我正在懶惰。在JustDecompile中花了一些時間,答案似乎是「不」。具體將WebMethod從W調用/在框架(System.Web.Script.Services.RestHandler.InvokeMethod)爲:

object obj1 = methodData.CallMethodFromRawParams(obj, rawParams); 
     string str1 = null; 
     if (!methodData.UseXmlResponse) 
     { 
      str1 = string.Concat("{\"d\":", methodData.Owner.Serializer.Serialize(obj1), "}"); 
      str = "application/json"; 
     } 

所以OBJ1將是無效的,如果它是一個無效的方法,但是,這並不重要,它仍然與領先的「d:」系列化。沒辦法避免它。哦,就像我在調查中說過的那樣,它的工作方式很好,只是因爲沒有「真正的」響應而期待204。