Прерывание POST-запроса - PullRequest
       10

Прерывание POST-запроса

0 голосов
/ 01 декабря 2009

Я работаю над загрузчиком файлов ASP.NET и в настоящее время пытаюсь решить следующую проблему: Предположим, что в какой-то момент серверный HttpModule решает, что входящий поток данных слишком длинный и должен быть прерван. Таким образом, код, который будет обрабатывать эту ситуацию на первый взгляд, будет очень простым. Как это:

try {
  ...
  if (size >= maxSize)
    throw new InvalidOperationException("File is too large!");
}
catch (InvalidOperationException e) {
  HttpContext.Current.Response.Write(e.Message);
  HttpContext.Current.Response.End();
  return;
}

Но, к сожалению, это не работает. Кажется, браузер не получил ответ и продолжает передавать данные на сервер. Кто-нибудь знает, почему это не работает и как это обойти?

1 Ответ

0 голосов
/ 02 декабря 2009

Попробуйте позвонить Response.Close(). Это немедленно закроет сокет соединения. Возможно, вам придется позвонить Response.Flush() до того, как вы начнете.

...