Вы можете использовать класс WebClient .Позволяет отправлять HTTP-запросы любому веб-приложению.Что касается части JSON, вам понадобится сериализатор JSON.Вы можете использовать встроенный класс JavaScriptSerializer или стороннее устройство, например Json.NET .
. Итак, давайте предположим, что в вашем ASP есть следующее действие контроллераПриложение .NET MVC 3, которое вы хотите вызвать:
[HttpPost]
public ActionResult Foo(Bar bar)
{
...
return Json(new
{
status = "OK"
});
}
, где класс Bar
содержит некоторые свойства (могут быть простых или сложных типов):
public class Bar
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
Теперь вы можетевызовите его следующим образом со стороны клиента:
using (var client = new WebClient())
{
client.Headers[HttpRequestHeader.ContentType] = "application/json";
var serializer = new JavaScriptSerializer();
var json = serializer.Serialize(new
{
firstName = "first",
lastName = "last"
});
var resultJson = client.UploadString("http://example.com/foo", json);
var result = serializer.Deserialize<Result>(resultJson);
}
, где вы определяете класс Result
для соответствия структуре JSON, возвращаемой приложением:
public class Result
{
public string Status { get; set; }
}