2009-03-23 17 views
8

Bir klasördeki tüm dosya uzantılarını belirli bir HttpHandler ile eşlemek mümkün mü (dosya uzantılarının IIS'de aspnet_isapi.dll ile eşleştirildiğini varsayarak)?Web.config dosyasında belirli bir klasöre HttpHandler ile eşleme

ben IIS'de ASP.NET eşleştirilmiş FLV uzantılı var ve bir klasör şu dosyaları ile benim web uygulaması Statik adında var:

  • Statik/ındex.htm
  • Statik/MyFile.flv

dizin dosyası FLV oynamak için JW FLV Media Player kullanarak temel bir html sayfası. Web.config içinde

, HttpHanders bölümü altında, aşağıdaki işleri (FLV yüklenir ve başarıyla oynar):

<add verb="*" path="MyFile.flv" type="MyApp.PassthroughFileHandler, MyApp"/> 

Ama bu (video yüklenemiyor) yapmaz:

<add verb="*" path="Static/*" type="MyApp.PassthroughFileHandler, MyApp"/> 

Çok fazla şans olmadan çeşitli kombinasyonlar denedim.

İdeal olarak, her dosya adını web.config dosyasında ayrı ayrı belirtmek yerine, Statik klasördeki tüm FLV'leri PassthroughFileHandler komutunu kullanabilmek isterim.

cevap

6

gibi bir şeyle, bu klasörün içinde ikinci bir web.config yerleştirmeyi deneyin:

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
     <httpHandlers> 
     <!-- <clear/> --> 
     <add verb="*" path="*.flv" 
      type="WebApplication3.MyHandler, WebApplication3"/> 
     </httpHandlers> 
    </system.web> 
</configuration> 
+0

Teşekkür, bu ekleyin. – Mun

0

Ben size ASP.NET (Sana II 6 kullandığınız varsayılmaktadır) IIS gidip yapılandırmak gerektiğini düşünüyorum joker uzantılarını kullan. Çünkü .flv uzantısını eşlemiş olmanıza rağmen, IIS normal olarak Statik/Index.htm işlemlerini gerçekleştirir ve ASP.NET'e iletmez. Bunu hiç denemedim ama

http://professionalaspnet.com/archive/2007/07/27/Configure-IIS-for-Wildcard-Extensions-in-ASP.NET.aspx

Muhtemelen sadece bu statik klasör için IIS yapılandırabilir.

7

İşte "kukla" bir klasör ve yeni bir web.config gerektirmeyen farklı bir yol.

ana web.config için mükemmel çalıştı

<location path="static"> 
    <system.web> 
    <httpHandlers> 
     <add verb="GET,HEAD" path="*.*" 
      type="MyApp.PassthroughFileHandler, MyApp" /> 
    </httpHandlers> 
    </system.web>  
</location> 
İlgili konular