я должен реализовать метод, который я объявленный как это:В MVC3 как получить объект, связанный с DataContract, который был отправлен в мои действия?
[OperationContract]
[WebInvoke(Method = "POST", UriTemplate = @"whatever")]
void MyMethod(InputContainer input);
где InputContainer
объявлен как DataContract
:
[DataContract(Namespace = "whatever")]
public class InputContainer : IExtensibleDataObject
{
//[DataMember]s inside
}
Сейчас в моем коде у меня есть действие, к которому вызов будет сопоставляются:
[HttpPost]
ActionResult MyMethod()
{
// How do I get the InputContainer object here?
}
Я видел только образцы с использованием ReadAsAsync()
, который является зависимость от еще одной сборки который я бы хотел избежать. В любом случае, я подозреваю, что ReadAsAsync()
- это вспомогательный метод, который я мог бы реплицировать.
Как получить DataContract
-активированный объект POST
ed для моего действия MVC3?
Я не понимаю, у вас есть некоторое ограничение, которое предотвращает вас принять этот объект размещен в качестве аргумента в «MyMethod»? –
@GoranObradovic: Не уверен. Что произойдет, если запрос поступит без данных? – sharptooth
Тогда, если вы добавите параметр InputContainer в качестве аргумента, оно будет иметь нулевое значение, если это пустой запрос POST. –