Это может быть еретический вопрос в некотором смысле.У нас есть большой сайт, где все еще много страниц в ASP.В основном, они не очень динамичны, но включают (через SSI или Server.Execute) периодически восстанавливаемые фрагменты HTML.Это может выглядеть как кеширование бедного человека, но оно работало действительно хорошо, и я предполагаю, что Microsoft сильно оптимизировала IIS для этого сценария.
Теперь мы хотели бы добиться чего-то подобного в ASP.NET / ASP.NET MVC.У нас будут периодически генерироваться фрагменты HTML (обычно ежечасно или около того), которые мы хотели бы включить в оболочки ASP.NET / ASP.NET MVC, обеспечивающие основной хром сайта, некоторую навигацию и, возможно, некоторый другой динамический контент, связанный с фрагментами.Таким образом, это смесь, но дело в том, что сгенерированный HTML периодически заново генерируется внешним процессом, главным образом из соображений производительности и поддержания синхронизации нашей фермы серверов.
Ближайшая вещь в ASP.NET, которую я смогнайти было:
<% Response.WriteFile("GeneratedSnippet.inc"); %>
, что, кажется, эквивалентно
<% Server.Execute "GeneratedSnippet.inc" %>
в ASP.Возможно, это даже быстрее, потому что нет кода для выполнения.Но это, возможно, не так эффективно, как:
<!--#include file="GeneratedSnippet.inc" -->
Как я уже упоминал выше, я подозреваю, что IIS оптимизировался для работы с SSI, а также с ASP в течение многих лет.С другой стороны, Response.WriteFile, скорее всего, действительно читает файл и выплевывает его.У кого-нибудь есть понимание двух или некоторого опыта?
Может быть, я слишком сильно переживаю, но большая часть нашего трафика с большим объемом трафика все еще работает на ASP и использует много SSI, и поэтому даже небольшая разница в Response.WriteFileможет накапливаться и оказывать видимое влияние.