HttpResponse.Filter, как определить конец потока - PullRequest
3 голосов
/ 20 мая 2010

Я получил фильтр HttpResponse.Filter, который заменяет текст в HTML.

Я создал класс, производный от Stream, и реализовал метод Write:

public override void Write(byte[] buffer, int offset, int count)

Я читаю все байты из буфера и сохраняю их в частном StringBuilder, затем заменяю текст и записываю строку обратно в поток.

Но как я могу определить, когда поток находится в конце потока. То есть Как определить, когда записывать обратно html (строку) в поток?

1 Ответ

2 голосов
/ 20 мая 2010

Метод Read возвращает количество байтов, прочитанных из потока. Важно позаботиться об этом значении, поскольку оно может быть меньше количества запрошенных байтов, особенно если источником потока является что-то медленное, например, интернет-соединение.

Когда метод Read возвращает ноль, вы достигли конца потока.

...