2016-02-12 54 views
0

如何反序列化使用Json的任務響應。如何反序列化

public HttpResponseMessage Put(int id, ModelClass modelbject) 
{ 
    if (ModelState.IsValid && id == modelbject.modelbjectID) 
    { 
     db.Entry(modelbject).State = EntityState.Modified; 

     try 
     { 
      db.SaveChanges(); 
     } 
     catch (DbUpdateConcurrencyException) 
     { 
      return Request.CreateResponse(HttpStatusCode.NotFound); 
     } 

     return Request.CreateResponse(HttpStatusCode.OK); 
    } 
    else 
    { 
     return Request.CreateResponse(HttpStatusCode.BadRequest); 
    } 
} 

我想要派生這個,並檢查我的類中的IsSuccessStatusCode,我調用這個put方法。我該如何實現?

回答

1

我想派生這個並檢查我的類中的IsSuccessStatusCode,我調用這個put方法。

您不必「反序列化」任何東西。該方法返回HttpResponseMessage,其中has the property you're looking for

var result = yourController.Put(someId, someObject); 
var success = result.IsSuccessStatusCode; 

也許這是一個Web應用程序的事實是增加了一些混淆你如何描繪它。但是如果你有一個直接調用這個方法的類,那麼你得到的只是一個對象。可以像其他任何對象那樣對其進行檢查。否實際網絡層涉及該交互。

+0

我從一個mvc應用程序調用它。我在我的解決方案中有兩個項目,一個是mvc proj,另一個是mvc webapi – jubi

+0

我不知道你是否可以看看這個,在這裏我有代碼.http://stackoverflow.com/questions/35317358/webapi-put-returns- httpresponsemessage-null。我不確定我犯了什麼錯誤。我正在深入探討這個問題。 – jubi

+0

我從另一個mvc項目中調用這個PUT方法。 – jubi