Эй, ребята, у меня проблемы с совместным использованием MEF и MVC.Я создаю веб-приложение, которое импортирует несколько объектов-шаблонов, а затем пользователь заполняет их в форме просмотра, которая также импортируется.Все шаблоны происходят от абстрактного класса ITemplate с методом convert, который каждый шаблон реализует для преобразования их в стандартное представление.Моя основная проблема возникает, когда пользователь заполняет объект в форме, и я сериализую импортированный объект и должен отправить его обратно в контроллер.Вот пример
Сначала я получаю шаблон и отправляю его в его конкретный вид
[AcceptAjax]
[AllowAnonymous]
public ActionResult GetTemplate(int selected)
{
ITemplate Selected = BusinessModel.Instance.loader.interfaceObjects[selected].CreateExport().Value;
var result = new { view = base.RenderViewToString(Selected.viewName, Selected) };
return Json(result, JsonRequestBehavior.AllowGet);
}
Я получаю выбранный шаблон из элементов mef и отображаю его конкретный вид, это работает
Проблема возникает здесь в контроллере, когда мне нужно вернуть его обратно
[AcceptAjax]
[AllowAnonymous]
public ActionResult AddTemplate(ITemplate model)
{
model.convertstandardview();
//error
}
}
Это явно не работает, потому что контроллер не знает, как связать абстрактный класс, если я сам задаю объект шаблона, он работаетно это делает импорт объектов бессмысленным, если мне приходится указывать каждое действие контроллера.
Поэтому мне было интересно, нашел ли кто-нибудь решение этой проблемы, все остальные ответы в сети были немного расплывчаты.