Я реализован ModelBinder
но это BindModel()
метод не вызывается, и я получаю код ошибки 500 со следующим сообщением:WebAPI ModelBinder Ошибка
Ошибка:
Может не создать " IModelBinder 'из' MyModelBinder '. Убедитесь, что он выводит из «IModelBinder» и имеет открытый конструктор без параметров .
Я получаю от IModelBinder и имеет открытый конструктор без параметров.
Мои ModelBinder Код:
public class MyModelBinder : IModelBinder
{
public MyModelBinder()
{
}
public bool BindModel(ModelBindingExecutionContext modelBindingExecutionContext, ModelBindingContext bindingContext)
{
// Implementation
}
}
Добавлено в Global.asax:
protected void Application_Start(object sender, EventArgs e)
{
ModelBinders.Binders.DefaultBinder = new MyModelBinder();
// ...
}
WebAPI Действие Подпись:
[ActionName("register")]
public HttpResponseMessage PostRegister([ModelBinder(BinderType = typeof(MyModelBinder))]User user)
{
return new HttpResponseMessage(HttpStatusCode.OK);
}
пользователя Класс:
public class User
{
public List<Communication> Communications { get; set; }
}
аналогичный вопрос: http://stackoverflow.com/questions/9910346/mvc-4-modelbinder – shankbond