2011-08-12 32 views
7

IIS7.5 yapılandırmasına bakıyorum (system.webServer/handlers).Web.config içindeki işleyicilerdeki yol özniteliğinin anlamı

İşleyiciler için yol argümanında \*. ve \* arasındaki fark nedir? file.* (dosya.txt ve file.xml eşleşmesi için) veya abc.a?c (abc.abc ve abc.asc ile eşleştirmek için) kullanabilir misiniz?

Yol değişkeni "klasör" için referans yapabilir mi? \*\f4\*.txt gibi mi?

Yol değişkeni eşleştirmeye çalışır tarafı nedir

GET \f1\f2.f3\f4\a.b.c?arg1.arg2.arg3=3&arg4.txt=1.4 

gibi bir http isteği göz önüne alındığında?

cevap

7

* ve *. yolları, URL'nizdeki bazı kalıbı eşleştirme anlamında gerçekten "joker" eşlemeler değildir.

* işleyicisi, site için HTTP işleyicilerinde önceden belirtilen herhangi bir yolla (veya fiil/ön koşul) eşleşmeyen tüm içerik isteklerini işler. HTTP işleyicisi listesi aslında sıralı bir listedir, IIS7'nin MMC'sindeki varsayılan görünüm, yolu sıraladığınızda yanıltıcı olabilir. * işleyicisi son gelir ve StaticFile işleyicisi denir sen göreceksiniz Bunu yaptığınızda size sağ taraf Eylemler

Bölmesi.

* Görünüm Sıralı Liste" bağlantısını tıklamanız gerekmektedir gerçek işleme sırasını görmek için. TRACEVerbHandler ve yalnızca onlar normal çalışma altında yürütülen değildir gibi genellikle göz ardı hangi TRACE ve OPTIONS fiiller yanıt OPTIONSVerbHandler gibi bazı başkaları da olabilir.

*. işleyicisi ASP.NET 4.0 ve özeldir ASP.NET 4.0'ı yüklediğinizde eklenir.Bu işleyici uzantısı olmayan URL'ler için destek sağlamak için vardır.İlk olarak bu işleyici hiçbir şey ve o yok nly, KB980368 hotfix'u yüklediğinizde (Windows 2008R2/Windows 7 Service Pack 1'e de yüklendiğinde) devreye girer. *. işleyicisi ve extensionless URL'ler hakkında Thomas Marquardt tarafından büyük makalelerin bir çift var

:

How ASP.NET MVC Routing Works and its Impact on the Performance of Static Requests
How Extensionless URLs Are Handled By ASP.NET v4

Orada bu makaleleri başlangıçta emmek için oldukça çok ve sen gerekebilir başınızı almak için IIS7 boru hattının temellerini tekrar gözden geçirin (malzemenin batması için birkaç kez okudum), ama onunla geçin.