17 marca 2011, 11:01
dario
Komentarze (0)
asp.net-mvc
mscd
projekty
Jakiś czas temu pisałem o możliwości uruchomienia Mscd w kontekście głównej aplikacji ASP.NET MVC. Niestety opisane rozwiązanie ma jedną wadę. Otóż ruch szedł przez silnik MVC, tam odrzucany poprzez zastosowanie funkcji IgnoreRoute, a dopiero później trafiał do Mscd.
A można przecież inaczej stosując standardowy mechanizm ASP.NET. Wystarczy dodać poniższą sekcję location do pliku web.config.
<location path="Static">
<system.web>
<httpHandlers>
<add verb="GET" path="*.*" type="Softio.Mscd.StaticFileHandler, Softio.Mscd.Server" validate="false"/>
</httpHandlers>
</system.web>
<system.webServer>
<handlers>
<add name="StaticFileHandler" type="Softio.Mscd.StaticFileHandler, Softio.Mscd.Server" preCondition="integratedMode" verb="GET" path="*.*"/>
</handlers>
</system.webServer>
</location>
Powyższy wpis spowoduje skierowanie całego ruchu dla ścieżki zaczynającej się od Static bezpośrednio do Mscd na poziomie IIS.
Aplikację demonstrującą to działanie Mscd można znaleźć na Codeplex w katalogu Example.Web.Internal.