Вы имеете в виду, как это?
WITH N AS(
SELECT N
FROM (VALUES(NULL),(NULL),(NULL),(NULL),(NULL))N(N)),
Tally AS(
SELECT TOP 20 ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) AS I
FROM N N1
CROSS JOIN N N2)
SELECT REPLICATE('*',T.I)
FROM Tally T
ORDER BY T.I DESC;
Обратите внимание, что это возвращает только 20 строк, а не 21 (есть 20 чисел между и включенными 1 и 20)
Это исключение означает, что клиент, загружающий файл, разорвал соединение до того, как файл завершил загрузку. т.е. клиент перешел на другую страницу или просто закрыл браузер.
Я мог бы попробовать переместить строку if (Response.IsClientConnected)
после вашего iStream.Read
. Даже если вы это сделаете, я думаю, что все еще может быть шанс получить эту ошибку, если соединение будет прервано, а метод OutputStream.Write
все еще работает.