這可能是一種異端問題。我們有大量的網站,許多網頁仍然在ASP中。大多數情況下,它們並不是真正動態的,但它們包括(通過SSI或Server.Execute)定期重新生成的HTML塊。它可能看起來像一個窮人的緩存,但它一直工作得很好,我猜測微軟已經針對這種情況大量優化了IIS。ASP.NET/ASP.NET MVC中的類SSI功能
現在,我們希望能夠在ASP.NET/ASP.NET MVC中實現類似的功能。我們將定期生成我們希望包含在ASP.NET/ASP.NET MVC包裝中的HTML代碼片段(通常每小時左右),這些包裝提供主站點chrome,一些導航以及可能與片段相關的一些其他動態內容。所以這是一個混合,但重點是生成的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中的一點點差異也可能會積累併產生可見的影響。