Я работал в компании, которая пережила аналогичную ситуацию со своим монолитным приложением WinForms. Исходя из этого опыта, следует учитывать две вещи:
1] Отсоединить всю логику доступа к данным (DAL) от существующего пользовательского интерфейса WinForms. Вы можете начать этот процесс до начала любой веб-разработки.
Мы провели этот рефакторинг в серии из 6 еженедельных спринтов. Некоторые части приложения было легко изменить - другие были сделаны из совершенно адского спагетти-кода, который переплетал DAL, встроенный код SQL и пользовательский интерфейс в коде WinForm.
Если у вас есть это разделение, поддержка двух разных интерфейсов становится проще.
2] Игнорировать ASP.Net MVC и целевые веб-формы. WebForms был разработан, чтобы сделать написание веб-приложения ближе к опыту написания традиционного кода пользовательского интерфейса WinForms (управляемый событиями, на основе компонентов).
Вам необходимо понять жизненный цикл страницы, и есть несколько концептуальных ошибок, связанных с динамически генерируемыми элементами управления, которые, как правило, приводят в замешательство многих новичков, но в остальном это самый безболезненный способ заставить команду разработчиков WinForms заниматься веб-вещанием. MVC может быть очень популярным в веб-кругах прямо сейчас, и это обеспечивает лучшее разделение интересов (хотя вы можете достичь аналогичных результатов с WebForms с небольшим вниманием и сильным лидерством в дизайне) - но это требует более высокой степени знаний. С MVC вы работаете ближе к металлу цикла HTTP запрос / ответ. WebForms абстрагирует вас от всего этого.
Удачи в ваших начинаниях!