我一直在玩ASP.NET Web API。我期待看到我可以張貼到我建立了一個方法,它簡單地返回我已經發布對象:一些幫助張貼到ASP.NET Web API與C#
在帳戶控制:
// POST /api/accounts
public Account Post(Account account)
{
return account;
}
代碼用於發佈:
public void PostAccount()
{
// http://local_ip/api/accounts
var uri = string.Format("{0}", webServiceRoot);
var acc = new Account();
acc.AccountID = "8";
acc.AccountName = "Mitchel Cars";
acc.AccountNumber = "60";
acc.SubscriptionKey = "2535-8254-8568-1192";
acc.ValidUntil = DateTime.Now;
var request = (HttpWebRequest)WebRequest.Create(uri);
request.Method = "POST";
request.ContentType = "application/xml";
request.ContentLength = 800;
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Account));
xmlSerializer.Serialize(request.GetRequestStream(), acc);
var response = (HttpWebResponse)request.GetResponse();
XmlSerializer serializer = new XmlSerializer(typeof(Account));
var newAcc = (Account)serializer.Deserialize(response.GetResponseStream());
}
我已刪除任何錯誤檢查或任何鍋爐板代碼,以便於閱讀。這對於實際發佈POST而言是嚴格意義上的尖峯。我的理解是你應該寫入GetRequestStream()。所有的閱讀和這些似乎工作正常,但我從來沒有回到request.GetResponse();
如果我做了一個簡單的工作正常。我確實看到你可以使用一個叫做HTTPClient的類來做這件事,但是我不能使用它,因爲我需要爲基於.Net 3.5的WinForms,Silverlight和Windows Phone工作。所有基於.Net 3.5的
任何幫助推動POCO服務器將是一個很大的幫助,歡呼!
附加信息:
- 目前我沒有得到任何錯誤,測試程序只是掛起。
- 如果我關閉WebAPI項目,我得到一個服務器找不到響應。
- 我沒有改變任何路線或任何。
- 獲得相同的控制器工作。
你得到的錯誤是什麼? – Tejs 2012-04-27 14:49:25
什麼都不是,這是奇怪的部分...甚至沒有未處理的異常,我想它可能會等待超時? – deanvmc 2012-04-27 14:50:05
那麼,它永遠阻止? – Tejs 2012-04-27 14:50:28