Я почти уверен, что ответ «вы не можете сделать это», но если это так, ASP.NET MVC ужасно ошибочен.
У меня есть ActionResult, который должен обслуживать статический файл (имя файла определяется в коде).По соображениям производительности (а также потому, что мне не хочется повторно реализовывать спецификацию HTTP для байтов принятия и кэширующих заголовков), я хочу передать запрос в IIS.Как и context.RewritePath () из HttpModule, когда вы даете ему имя статического файла.
За исключением того, что это должно происходить внутри ActionResult, а не во время PostAuthorizeRequest.
Глядя на классы FileStreamResult и FilePathResult, очевидно, что они реализуют только HTTP 200. TransmitFile () хорош и все, ноэто не кеширование ядра, и оно не обрабатывает байты Accept, If-Modified-Since или Etags.
Нам почти для декодирования сказали, насколько лучше IIS в обслуживании файлов, и насколько важен интегрированный конвейер, насколько злым подстановочным знаком на IIS6 было для производительности и т. Д.
Теперь мы снова в одной лодке - нет способа позволить IIS обслуживать статический файл из ActionResult.(НЕТ, TransmitFile не считается).
Я даже начал видеть, что MS рекомендует размещать статический контент на отдельном сервере.
Пожалуйста, скажите мне, что я неправ, что где-то есть магический метод, который делает это.Или «Интегрированная мечта трубы» была убита MVC?