2012-04-27 100 views
0

我一直在通過asp.net網站上的新WebAPI進行工作。我用簡單的字符串創建了幾個樣本,我可以獲取。我期待看看我現在是否可以POST和PUT到服務。如何將數據傳遞給ASP.NET WebAPI

我期待看到如何添加一個對象到請求,然後我可以從.net 3.5控制檯應用程序POST或PUT。我想發送的對象只是一個簡單的User類,帶有Name,Surname和UserID。

從我的測試看來,我可以序列化並通過URI發送它,但這似乎很難看。我注意到這些請求有標題,我可以把數據放在那裏嗎?

回答

4

使用.NET 3.5,不會有太多的優雅選擇,我認爲但是這個代碼使用WebClient作品(你需要添加參考System.Web.Extensions程序):

WebClient client = new WebClient(); 
JavaScriptSerializer serializer = new JavaScriptSerializer(); 
var data = serializer.Serialize(new {Name = "Ali", Title = "Ostad"}); 
client.Headers[HttpRequestHeader.ContentType] = "application/json"; 
var downloadString = client.UploadString("http://localhost:59174/api/values", data); // value is "Ali" 

這裏是控制器動作:

// POST /api/values 
public string Post(JsonValue value) 
{ 
    return value.AsDynamic().Name; 
} 
1

查看NuGet上的HttpClient。這使得通過http執行大部分操作變得很容易。

here's an example使用它。

+0

此客戶端是否支持.net 3.5(Winforms/Console/WPF/Silverlight)? – deanvmc 2012-04-27 08:47:16

+0

據我所知,HttpClient(WCF Web Api的一部分)是.NET 4,但舊版本可用於.net 3.5 - 請參閱http://stackoverflow.com/questions/8257652/webapi-httpclient-for-net -framework-3-5 – 2012-04-27 22:18:23

相關問題