2013-03-25 34 views
1
public string Post(T obj) 
    { 
     HttpRequestMessage request = new HttpRequestMessage(); 
     MediaTypeFormatter[] formatter = new MediaTypeFormatter[] { new JsonMediaTypeFormatter() }; 
     var content = request.CreateContent<T>(obj, MediaTypeHeaderValue.Parse("application/json"), formatter, new FormatterSelector()); 
     HttpResponseMessage response = client.PostAsync(this.url, content).Result; 
     return response.Content.ToString(); 
    } 

這是我的方法後,我在我的HTTPClient使用,但有一個問題 - CreateContentFormatterSelector - 從舊引用的類。如何這段代碼改寫爲最新的引用:更改方法從老參考

using System.Net.Http; 
using System.Net.Http.Formatting; 
using System.Net.Http.Headers; 
using Newtonsoft.Json; 

我什麼問題理解。這種方法是擴展方法!所以他們對我無效。

+0

添加包含擴展方法到項目的類。 – keyboardP 2013-04-01 18:04:20

回答

2

你可以試試這段代碼:

public async Task<string> Post<T>(T obj) 
    { 
     MediaTypeFormatter jsonFormatter = new JsonMediaTypeFormatter(); 
     HttpContent content = new ObjectContent<T>(obj, jsonFormatter); 

     var response = await client.PostAsync(this.Url, content); 
     return response.Content.ToString(); 
    }