2014-06-20 7 views
6

Ich habe ein Owin-Projekt Ich hosste es mit Microsoft.Owin.Host.SystemWeb. Es funktioniert gut, aber wenn ich einen Punkt in der URL haben es nicht und ich bekomme ein 404. Zum BeispielOwin auf IIS gehostet erfasst keine URLs mit Punkt "."

localhost: 4070/CDN/aa arbeitet

aber

localhost: 4070/CDN/aa funktioniert nicht

ich habe auch die folgenden Änderungen in

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

getan, was ich bin sicher, dass diese Einstellung das Problem im Klar asp.net Web api löst, aber ich habe dieses Problem mit Owin .

Update

Ich habe schon versucht, diese mit owin Gastgeber ist es ein ähnliches Verhalten, die Anrufe mit "" werden nicht an webapi weitergeleitet.

Ich kann das Verhalten verstehen, dass, wenn es einen Punkt im letzten Teil der URL gibt, das Framework denkt, dass es eine Datei ist und versucht, damit umzugehen, aber mein Problem ist, dass ich diese URLs in meiner normalen Pipeline behandeln möchte . Ich schreibe eigentlich einen Proxy für Microsoft CDN und die Dateien werden zur Laufzeit mit einem anderen Server generiert.

Antwort

7

Diese Config für mich gearbeitet:

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

In odred auf Dateipfad von "public /" Ordner und legen Sie sie in Reaktion Am Ende hatte ich diese:

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