Работа с импортированными объектами MEF в действиях контроллера MVC - PullRequest
0 голосов
/ 21 сентября 2018

Эй, ребята, у меня проблемы с совместным использованием 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
    }
}

Это явно не работает, потому что контроллер не знает, как связать абстрактный класс, если я сам задаю объект шаблона, он работаетно это делает импорт объектов бессмысленным, если мне приходится указывать каждое действие контроллера.

Поэтому мне было интересно, нашел ли кто-нибудь решение этой проблемы, все остальные ответы в сети были немного расплывчаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...