Ścieżki *
i *.
nie są mapowaniem "wieloznacznym" w sensie dopasowania jakiegoś wzorca w adresie URL.
Obsługa *
obsługuje żądania dla wszystkich treści, które nie pasują do żadnych ścieżek (lub czasowników/warunków wstępnych) już określonych w procedurach obsługi HTTP dla witryny. Lista procedur HTTP jest w rzeczywistości uporządkowaną listą, domyślny widok w MMC IIS7 może być mylący, jeśli sortujesz według ścieżki. Aby zobaczyć prawdziwy porządek przetwarzania, należy kliknąć link "Wyświetl uporządkowaną listę" w prawym okienku akcji:
Po wykonaniu tej czynności zobaczysz, że obsługa *
jest ostatnia i nazywa się handler . nie może być kilka innych, takich jak TRACEVerbHandler
i OPTIONSVerbHandler
których tylko odpowiedzieć na TRACE
i OPTIONS
czasowników, które ogólnie można zignorować, ponieważ nie są wykonywane w ramach normalnej eksploatacji.
handler *.
jest specyficzna dla ASP.NET 4.0 i jest dodawany po zainstalowaniu programu ASP.NET 4.0. Ten moduł obsługi zapewnia wsparcie dla adresów URL bez rozszerzeń. Początkowo ten program obsługi nie robi nic nly wchodzi w grę po zainstalowaniu KB980368 hotfix (która jest również przekształcana w Windows 2008R2/Windows 7 Service Pack 1).
Jest kilka świetnych artykułów przez Thomas Marquardt temat obsługi *.
i bez rozszerzeń adresów URL:
How ASP.NET MVC Routing Works and its Impact on the Performance of Static Requests
How Extensionless URLs Are Handled By ASP.NET v4
Jest sporo początkowo absorbować w tych wyrobach i może być konieczne aby powrócić do fundamentów rurociągu IIS7, aby zorientować się w nich (zajęło mi kilka czytań, aby materiał się pogrążył), ale trzymaj się go.