Ладно, удалось найти ответы на поставленные выше вопросы, так что я просто добавлю их сюда на случай, если это поможет кому-то еще.
По умолчанию (в файле machine.config) настройки для загрузки файла / запроса в целом
4 МБ как максимальный размер для запроса и 256 байт, сохраненных в памяти, прежде чем запрос буферизуется на диск. Эти параметры можно переопределить в файле web.config в разделе httpRuntime.
<httpRuntime maxRequestLength="8192" requestLengthDiskThreshold="512" />
Приведенный выше пример разрешит размер запроса до 8 МБ и начнет буферизацию на диске после 512 байт. Файл буферизуется до
C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Временные файлы ASP.NET \ [APP_NAME] \ [SOME_HEX_NAME_DIR] \ [SOME_HEX_NAME_DIR] \ uploads \
по этому пути будет создан файл с [уникальное_имя] _post.tmp, он существует на время запроса, но недоступен из-за блокировки запроса.
Я пытался прервать запрос несколькими способами (остановить IIS, завершить процесс, закрыть страницу во время загрузки), и во всех случаях файл tmp был удален.
Таким образом, из этого не следует, что секретные данные, которые буферизуются, являются большой проблемой, поскольку буферизованный файл долго не задерживается.