Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
определить Encoding
|
|||
|---|---|---|---|
|
#18+
Установлен фильтр public class FilterModule : IHttpModule {... Фильтр устанавливает свой поток и в его методе Write мне надо знать Encoding отсылаемого HTML Сейчас делаю это в фильтре в OnBeginRequest, но не слишком ли рано ? Вроде бы только началась обработка, и streamEncoding = httpApp.Response.ContentEncoding; валидно ли ? Если не здесь, то где лучше ? Но надо обязательно до того, как будет вызван Write в потоке — к тому времени уже надо знать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 13:23 |
|
||
|
определить Encoding
|
|||
|---|---|---|---|
|
#18+
Вопрос в прежнем виде снят. Некорректно все это. Нельзя в фильтре ничего определять, так как он может вызываться для разных страниц и неизвестно, к какой из них относится последующий Write Вопрос поэтому такой — как в Write определить, какой там Encoding. Она получает массив байтов public override void Write (byte[] buffer, int offset, int count) Пока вижу одно решение — вызвать Win32 функцию IsTextUnicode через InterOp. Есть ли решение без него ? Дан массив байтов, определить, какой там Encoding в предположении, что это байты текстового ответа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2006, 13:39 |
|
||
|
определить Encoding
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Pavel Dvorkin, Вы писали: PD>Установлен фильтр PD> public class FilterModule : IHttpModule {... Что-то непонятно. 1. То, что установлено — это не фильтр , а модуль . У модуля нет никакого метода Write. PD>Фильтр устанавливает свой поток Телепатически угадываю: ты хотел сказать " Модуль устанавливает свой фильтр "? PD>и в его методе Write мне надо знать Encoding отсылаемого HTML А, у Stream конечно есть метод Write. Но зачем тебе знать Encoding отсылаемого HMTL? PD>Если не здесь, то где лучше ? Но надо обязательно до того, как будет вызван Write в потоке — к тому времени уже надо знать. Не понимаю, почему бы тебе не отложить этот вопрос непосредственно до Write: publiс class MyFilter: Stream { private HttpResponse _response; private Stream _underlying; public MyFilter(HttpResponse response) { _response = response; _underlying = response.Filter; } private Encosing CurrentEncoding { get { return _response.ContentEncoding;} } // Stream implementation public override void Write (byte[] buffer, int offset, int count) { _underlying.Write(buffer, offset, count); byte[] edrit = CurrentEncoding.GetBytes("едрить"); _underlying.Write(edrit, 0, edrit.Length); } ... ) 1.1.4 stable rev. 510 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.09.2006, 08:43 |
|
||
|
|

start [/forum/topic.php?fid=18&msg=33990098&tid=1389340]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 386ms |

| 0 / 0 |
