Я могу жить без замыканий.
Похоже, что в настоящее время все и их мать хотят, чтобы замыкания присутствовали на языке, потому что это величайшее изобретение со времен нарезанного хлеба. И я думаю, что это просто еще один обман.
Это ASP.Net MVC, в котором более или менее встроена маршрутизация .Net. Маршрутизация также доступна для проектов без MVC, хотя
http://msdn.microsoft .com / en-us / library / cc668201.aspx
Это просто .dll, который вы можете поместить в папку bin. В основном он использует регулярные выражения для сопоставления URL-адресов страниц / шаблонов.
Это достигается с помощью mod_rewrite в Apache или аналогичных методов url_rewriting в IIS .
Примечание: SOFlow использует последний.
URL-адреса имеют этот формат в соответствии с принципами REST , в которых все является ресурсом с уникальным URL-адресом.
Я думаю, что где-то в блоге читал, что это достигается за счет использования платформы ASP.NET MVC .
Я знаю, что Stack Overflow использует платформу ASP.NET MVC, которая предположительно имеет встроенную систему перезаписи URL. Для систем, отличных от Windows, очень часто используется Apache mod_rewrite.
Например, вики-страница: http://server.com/wiki/Main_Page
запрос обрабатывается веб-сервером. Он переведен на /wiki/index.php?page=Main_Page
Вот пример перезаписи URL в Apache:
RewriteEngine on
RewriteRule ^forum-([0-9]+)\.html$ forumdisplay.php?fid=$1 [L,QSA]
RewriteRule ^forum-([0-9]+)-page-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2 [L,QSA]
RewriteRule ^thread-([0-9]+)\.html$ showthread.php?tid=$1 [L,QSA]
RewriteRule ^thread-([0-9]+)-page-([0-9]+)\.html$ showthread.php?tid=$1&page=$2 [L,QSA]
Это означает, что вводимый URL - это форум - ##. html
, а затем обработайте этот запрос, как если бы это был forumdisplay.php? fid = ##
. То же самое и с потоком - правила ##. Html
.