Я не совсем понимаю ваш вопрос, но если вы хотите обновить несколько строк в таблице на основе данных в других таблицах, да, это возможно, если вы хотите обновить несколько строк в нескольких разных таблицах, что будет возможно только с помощью хранимой процедуры или чего-то подобного.
Flush работает только в большей части пространства имен System.Net, когда для Transfer-Encoding установлено значение Chuncked, в противном случае возвращается весь запрос, а Flush действительно ничего не делает. По крайней мере, это то, что я испытал, работая с HttpWebResponse.
Я еще не пробовал, но как насчет написания отдельного TCP-сервера для потоковой передачи ответов? Затем перенаправьте запрос от HttpListener на «внутренний» tcp сервер. Используя это перенаправление, вы сможете передавать данные обратно так, как вам нужно.
Что касается очистки, то я вижу, что единственный способ сделать это - смоделировать удаление, фактически не удаляя его. Если вы можете взломать объект HttpResponseStream, попросить его удалить, сбросить флаг m_Closed и т. Д., Вы можете очистить потоковые данные.