2014-06-20 15 views
6

Microsoft.Owin.Host.SystemWeb'i kullanarak ev sahipliği yaptığım bir owin projesi var. Bu çalışıyor ancak url bir Dot varsa başarısız olur ve ben 404. örnekIIS'de barındırılan Owin, Dot "ile URL'leri yakalamıyor."

localhost için olsun: 4070/CDN/aa çalışır

ama

localhost: 4070/cdn/aa Bu ayar, düz asp.net web API sorunu çözer ama Owin ile bu sorun yaşıyorum eminim ben de

<system.webServer> 
    <modules runAllManagedModulesForAllRequests="true">  
    </modules> 

aşağıdaki değişiklikler yapmış

çalışmıyor .

güncelleme

Ben Owin ana bilgisayarla denedim benzer davranış ile görüşmeleri olduğunu "" webapi'ye yönlendirilmez.

URL'nin son kısmında bir nokta olduğunda, çerçevenin bir dosya olduğunu düşündüğünü ve bu sorunu çözmeyi denediğini anlıyorum, ancak benim sorunum bu URL'leri normal boru hattımda kullanmak istiyorum. . Aslında Microsoft cdn için bir proxy yazıyor ve dosyalar başka bir sunucu kullanarak çalışma zamanında üretiliyor.

cevap

7

Bu yapılandırma benim için çalıştı:

<system.webServer> 
    <handlers> 
    <add name="OWIN" path="*" verb="*" type="Microsoft.Owin.Host.SystemWeb.OwinHttpHandler" /> 
    </handlers> 
</system.webServer> 

"/ kamusal" Bu ile sona erdi klasörü ve tepki koymak dosya yolunu almak için odred olarak:

string filePath = System.Web.Hosting.HostingEnvironment.MapPath("~/public" + context.Request.Path);