Статические страницы C # VirtualPathProvider

У меня есть поставщик виртуального пути (VPP), который обслуживает простые страницы aspx. Проблема заключается в том, что я добавляю статические ссылки, такие как файлы * .css, * .jpg и т. Д.

Я заметил, что мой VPP перехватывает эти запросы. Я не хочу, чтобы это случилось. Я хочу, чтобы обычный System.Web.StaticFileHandler обрабатывал эти запросы.

Я добавил в свою веб-конфигурацию следующее:

    <system.web>
    <httpHandlers>
        <add verb="GET,HEAD" path="*.css" type="System.Web.StaticFileHandler" />
        <add verb="GET,HEAD" path="*.js" type="System.Web.StaticFileHandler" />
        <add verb="GET,HEAD" path="*.jpg" type="System.Web.StaticFileHandler" />
        <add verb="GET,HEAD" path="*.gif" type="System.Web.StaticFileHandler" />
    </httpHandlers>
</system.web>

Но мой VPP все еще обрабатывает эти запросы. Любые идеи?

аплодисменты заранее


person downatone    schedule 21.09.2009    source источник


Ответы (1)


Я предполагаю, что VirtualPathProvider вызывается для каждого запроса. Вам придется переопределить FileExists, чтобы сообщить среде выполнения, обрабатывается ли запрос VirtualPathProvider или нет.

person M4N    schedule 21.09.2009
comment
Уже делаю это - урезанная версия: public override bool FileExists (string virtualPath) {if (virtualPath.EndsWith (.aspx)) return true; иначе вернет ложь; } - person downatone; 21.09.2009