В недавнем проекте я создал свой собственный фреймворк MVC на PHP. Одна из вещей, которые я реализовал, была система маршрутизации. Я использовал mod_rewrite Apache для отправки всех запросов в index.php, а затем проанализировал URI, чтобы извлечь информацию и направить запрос.
Я сейчас занимаюсь ASP.NET, и мне интересно, могу ли я сделать что-то подобное и как это сделать. Есть ли способ направить все запросы (аналогично тому, как это делает WordPress) на одну страницу, где выполняется центральная обработка маршрута? Я знаю о платформе MVC для ASP.NET, но я бы хотел попробовать это сам, пока я возился и учусь.
Обновлено: Кстати, мой хостинг-провайдер использует IIS 6





Это будет длинный ответ, потому что я хочу убедиться, что вы полностью осведомлены обо всех способах достижения того, что вы хотите сделать.
Механизм маршрутизации, на котором работает ASP.NET MVC Framework, будет работать с традиционной ASP.NET Framework. Вы можете воспользоваться преимуществами использования RouteTable и назначения маршрутов, как в приложении ASP.NET MVC. Вы просто не получаете часть MVC на традиционных сайтах ASP.NET. Это было огромным улучшением для ASP.NET Framework, и было здорово видеть, как они повторно используют этот код и заставляют его работать в обеих средах. Если вы хотите узнать об этом больше, ознакомьтесь с почтовый от ScottGu и прокрутите вниз до раздела «Улучшения маршрутизации URL». Также вот ссылка о том, как использовать System.Web.Routing в WebForms от Phil Haack.
Теперь, если вы все еще хотите написать свое собственное. Вам нужно будет изучить конвейер HTTP ASP.NET и то, как реализовать интерфейсы IHttpModule и IHttpHandler, чтобы создать свой собственный класс HttpModule или HttpHandler для обработки вашей маршрутизации. Эти интерфейсы являются ключом к написанию вашего собственного механизма маршрутизации. Я не могу порекомендовать этот Статья MSDN достаточно, чтобы помочь использовать эти интерфейсы в рабочем примере. Он показывает вам, как работать с любым интерфейсом, и объясняет различия при создании собственного механизма маршрутизации / перезаписи URL.
Теперь, если вы обнаружите, что это может быть слишком для вас. Существуют сторонние библиотеки, которые вы можете использовать для людей, которые уже написали движок маршрутизации / переписывания URL-адресов в .NET. Вот вопрос, который я видел не так давно, задавая "Какой переписчик URL-адресов вы используете для ASP.Net?" прямо здесь, на SO.
Отличный ответ ... Мне тоже понравились эти статьи - chriscavanagh.wordpress.com/2008/03/11/…, blogs.msdn.com/b/mikeormond/archive/2008/05/14/…