Текущая кодовая база в работе - полностью WebForms, с большей частью логики, вставляемой в файл code-behind.Я исследую возможность использования MVC3 для новых добавленных страниц и будущего рефакторинга без необходимости выбрасывать всю кодовую базу (большое нет-нет).Все эти страницы являются частью одного и того же «приложения», так что это не так просто, как просто создавать новые проекты с MVC - они должны очень тесно взаимодействовать, а в некоторых случаях страницы WebForms должны перенаправляться на страницы MVC, и наоборот.
Я наткнулся на несколько статей, в которых показано, как можно интегрировать эти два (хотя и в очень простых сценариях, хотя мой сценарий довольно сложный), но есть ли какие-либо проблемы, о которых следует знать?В частности, что касается перехода со страницы WebForms на страницу MVC, а затем обратно на страницу WebForms, где данные должны передаваться по страницам, скажем, из сеанса (и не обязательно считываться полностью из базы данных при загрузке), например,рабочий процесс, например:
- (WebForms). Пользователь переходит на CreateQuote.aspx? CustomerId = 42 и вводит некоторые данные.Они нажимают кнопку «Обработка» ...
- (MVC) / Customers / 42 / process страницу MVC, которая считывает информацию, представленную ранее, и выполняет некоторые дополнительные действия.Пользователь нажимает кнопку «Далее» ...
- (WebForms) CompleteQuote.aspx? CustomerId = 42 & QuoteId = 534235, которая извлекает информацию из предыдущей страницы MVC и применяет к ней больше логики.
Кроме того, наш существующий проект - это проект ASP.NET Web Site (т. Е. Тот, в котором каждая отдельная страница представляет собой свою собственную DLL);должен ли он быть преобразован в проект Web Application , чтобы существовать бок о бок с MVC (это само по себе является серьезной попыткой рефакторинга из-за больших скоплений дублирующегося кода в файлах с выделенным кодом)?