17 marca 2011, 11:01 dario Komentarze (0)

Jak poprawić działanie Mscd wewnątrz aplikacji ASP.NET MVC

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.

Tagi:

Projekty

Komentarze zablokowane

O autorze

Dariusz Gil - projektant i programista aplikacji internetowych budowanych na platformie Microsoft w technologii ASP.NET (C#) oraz MS SQL Server. Obecnie właściciel (narazie :)) jednoosobowej firmy Softio.

Filtruj używając APML