我有一個控制器,它看起來像這樣的導入XML到我的網站:手動發佈到一個Asp.Net MVC控制器
[HttpPost]
public ActionResult Import(string xml)
{
我有一個獨立的應用程序讀取XML文件,並將其發送到url 。它看起來像這樣:
static void Main(string[] args)
{
var reader = new StreamReader(@"myfile.xml");
var request = WebRequest.Create("http://localhost:41379/mycontroller/import");
request.Method = "POST";
request.ContentType = "text/xml";
StreamWriter sw = new StreamWriter(request.GetRequestStream());
sw.Write(reader.ReadToEnd());
sw.Close();
var theResponse = (HttpWebResponse)request.GetResponse();
StreamReader sr = new StreamReader(theResponse.GetResponseStream());
var response = sr.ReadToEnd();
}
控制器得到正確調用,但是當我在那裏休息時,參數爲空。我很確定我只是沒有設置正確的內容類型或類似的東西。對xml進行編碼的正確方法是什麼,以便框架能夠得到它並將其正確地提供給控制器?
你在哪裏將XML內容傳遞給動作? – 2011-06-16 22:39:24
我正在將它寫入請求流。 – captncraig 2011-06-16 22:42:36
但你沒有給它一個名字。它需要是一個正式的名爲HTTP POST參數。 – 2011-06-16 23:02:17