WebBrowser и кэширование
От: tex Россия  
Дата: 25.10.06 06:21
Оценка:
Стоит задача уменьшения трафика у приложения с WebBrowser control внутре.
Только для определенного URL и все редкоменяющиеся данные можно таскать с собой.

Первое, что пришло на ум, это собственный кэш либо использование
каким либо образом кэша IE.

В связи с этим вопросы:
1. Есть ли возможность запихнуть в кэш IE локальный файл для заданного URL?
(Смотрел в сторону URLDownloadToCacheFile, но он не умеет вставлять локальные файлы)

2. Есть ли возможность перехватить события загрузки файлов в WebBrowser control?
(с целью подмены загружаемого URL, если он есть в моем кэше)

3. Есть ли возможность подменить атрибут SRC только у загружаемых картинок?

Может быть, уважаемые гуру посоветуют, в какую сторону копать
Re: WebBrowser и кэширование
От: al Россия  
Дата: 25.10.06 09:13
Оценка:
Здравствуйте, tex, Вы писали:

tex>1. Есть ли возможность запихнуть в кэш IE локальный файл для заданного URL?


см. CreateUrlCacheEntry()

tex>2. Есть ли возможность перехватить события загрузки файлов в WebBrowser control?

tex>(с целью подмены загружаемого URL, если он есть в моем кэше)

см. IInrenetProtocol и IInternetSession::RegisterNameSpace()


Re: WebBrowser и кэширование
От: algol Россия about:blank
Дата: 25.10.06 13:13
Оценка:
Здравствуйте, tex, Вы писали:

tex>Стоит задача уменьшения трафика у приложения с WebBrowser control внутре.

tex>Только для определенного URL и все редкоменяющиеся данные можно таскать с собой.
tex>Может быть, уважаемые гуру посоветуют, в какую сторону копать

Можно сделать через Asynchronous Pluggable Protocol
Автор(ы): Вадим Макутин
Дата: 12.06.2004
Разбирается создание и работа собственного интернет-протокола, приводится пример приложения, использующего такой протокол.
handler. Сделать свой HTTP protocol handler, который будет анализировать запрашиваемый URL и либо возвращать свои данные для нужных URL, либо передавать запрос в обработчик по умолчанию. Protocol handler регистрировать как временный для своего приложения через IInternetSession::RegisterNameSpace().
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.