Вы пытались настроить vroot IIS, используя удаленный UNC-путь в качестве домашнего каталога? Если это работает, это может быть самым простым решением. Вы по-прежнему можете применять барьеры аутентификации для файлов (например, через HttpModule или, возможно, даже через готовый модуль для проверки подлинности форм), но вы можете положиться на IIS для эффективной потоковой передачи контента, как только ваши фильтры авторизации дадут добро.
Предупреждение: последний раз, когда я конфигурировал IIS в сценарии UNC, был очень давно (1998 !!!), и у меня возникли периодические проблемы с файлами, заблокированными на удаленном компьютере, что иногда приводило к проблемам с обновлением файлов. Работа с восстановлением после перезагрузки UNC-сервера также была интересной. Я предполагаю, что за 11 лет с тех пор эти проблемы были устранены, но вы никогда не можете быть уверены!
Другой подход может состоять в том, чтобы установить веб-сервер на компьютере UNC, а затем установить обратный прокси-сервер на своем веб-сервере, например, новый модуль Маршрутизация запросов приложений IIS7 .
Если вы хотите связать серверный поток, вы можете использовать подход, рекомендованный в KB812406 , который решает проблемы, связанные с использованием ОЗУ, тайм-аутами, отключением клиента и т. Д. Обязательно отключите Response Буферизация!
Идеальным решением для максимального контроля был бы «потоковый HttpHandler», в котором вместо необходимости отправлять выходные данные сразу, вы можете вернуть поток в ASP.NET и позволить ASP.NET разобраться с деталями о результатах разбиения на блоки. клиенту, занимающемуся отключениями и т. д. Но я не смог найти хороший способ сделать это. : - (