我有以下MVC方法。使用HttpwebRequest調用MVC HttpPost方法(使用參數)
[System.Web.Mvc.HttpPost]
public ActionResult Listen(string status)
{
CFStatusMessage statusMessage = new CFStatusMessage();
if (!string.IsNullOrEmpty(status))
{
statusMessage = Newtonsoft.Json.JsonConvert.DeserializeObject<CFStatusMessage>(status);
}
return Content(Server.HtmlEncode(status));// View(statusMessage);
}
我想從其他應用程序調用上述方法..(控制檯)。我正在使用HttpWebRequest來調用MVC方法。使用下面的代碼,它能夠調用方法,但參數總是以空字符串的形式出現。
string content = "{\"status\":\"success\",\"payload\":\"some information\"}";
string url = "http://myrl.com";
var httpWRequest = (HttpWebRequest) WebRequest.Create(url);
httpWRequest.Method = "POST";
httpWRequest.ContentType = "text/json";
var encoding = new ASCIIEncoding();
byte[] data = encoding.GetBytes(string.Format("status={0}", Uri.EscapeDataString(content)));
httpWRequest.ContentLength = data.Length;
Stream stream = httpWRequest.GetRequestStream();
stream.Write(data, 0, data.Length);
var response = (HttpWebResponse)httpWRequest.GetResponse();
有了這個它撥打電話傾聽的方法,但狀態參數總是來的空白。而我想要json字符串{status:「success」,payload:「some information」}作爲參數。
我在做什麼錯?
P.S .:我也嘗試了下面的說法,同時發送實際內容。
byte[] data = encoding.GetBytes(content);
問候, 中號
HABE? – Jan 2013-03-13 15:46:30