Я знаю, что это старый вопрос, но в аналогичной ситуации (50 000+ устаревших ASP-страниц, которые должны отображаться в .NET Framework), я сделал следующее.
Создан механизм перезаписи (HttpModule), который перехватывает все входящие запросы и ищет все, что есть на старом сайте.
(в отдельном классе - держите все в порядке!) Используйте WebClient или HttpRequest и т. Д., Чтобы открыть соединение со старым сервером и загрузить обработанный HTML.
Используйте набор инструментов HTML agility ( очень slick), чтобы извлечь интересующий меня контент - в нашем случае это всегда внутри div с классом "bdy".
Добавьте это в кеш - таблицу SQL в этом примере.
Каждое нажатие проверяет кэш и либо а) извлекает страницу и создает запись в кеше, либо б) просто получает страницу из кеша.
- Страница aspx, созданная специально для отображения устаревшего контента, получает запрос на перезапись и отображает соответствующий контент со старой страницы внутри литерального элемента управления asp.
Кэш существует для производительности - поскольку первый запрос для данной страницы имеет минимум два обращения - один от браузера к новому серверу, один от нового сервера к старому серверу - я храню кэшируемые данные на новый сервер, чтобы последующие запросы не возвращались к старому серверу. Мы также кешируем изображения, CSS, скрипты и т. Д.
Это становится грязно, когда вам приходится работать с формами, файлами cookie и т. Д., Но все они могут храниться в вашем кэше и передаваться на старый сервер с каждым запросом, если это необходимо. Я также храню даты истечения срока действия контента и другие заголовки, которые я получаю с устаревшего сервера, и обязательно передаю их обратно в браузер при рендеринге кэшированной страницы. Просто не забывайте придерживаться максимально независимого от контента подхода. Вы эффективно создаете веб-прокси на странице, который позволяет IIS отображать старый ASP так, как он хочет, и манипулируете выводом.
Работает очень хорошо - у меня все старые страницы работают без проблем в нашем приложении ASP.NET. Это сэкономило нам солидный год времени на разработку, который потребовался бы, если бы нам пришлось перебирать каждую устаревшую страницу asp.
Удачи!