#.net #wcf #asp.net-web-api
#.net #wcf #asp.net-web-api
Вопрос:
Я пытаюсь воссоздать веб-службу WCF в веб-API MVC, которая имеет следующий атрибут в веб-методе:
[WebInvoke(Method = "*", BodyStyle = WebMessageBodyStyle.WrappedRequest)]
VB:
<WebInvoke(Method = "*", BodyStyle = WebMessageBodyStyle.WrappedRequest)> _
Каков способ MVC Web API для создания обернутого запроса?
Ответ №1:
У меня такая же проблема, и я не смог найти никакого решения, однако ниже приведен мой обходной путь.
Создание WrappedResponse в виде структуры имени / значения.
public class WrappedResponse<T>
{
public List<T> SampleCollection { get; set; }
public static WrappedResponse<T> GetResult(List<T> list)
{
var result = new WrappedResponse<T>();
result.SampleCollection = list;
return resu<
}
}
Возвращает экземпляр WrappedResponse.
[Route("Products")]
public IHttpActionResult Get()
{
Configuration.Formatters.Clear();
Configuration.Formatters.Add(new JsonMediaTypeFormatter());
using (var context = new AdventureWorks2012Entities())
{
List<Product> productsList = context.Products.Take(10).ToList();
var result = WrappedResponse<Product>.GetResult(productsList);
return Ok(result);
}
}