gpt4 book ai didi

asp.net - ASP.NET/ASP.NET MVC中类似SSI的功能

转载 作者:行者123 更新时间:2023-12-02 04:14:52 27 4
gpt4 key购买 nike

在某种程度上,这可能是一个异端问题。我们有一个大型站点,其中许多页面仍在ASP中。通常,并没有真正动态的,而是包括(通过SSI或Server.Execute)定期重新生成的HTML块。看起来好像是一个穷人的缓存,但是它确实运行良好,我猜想微软已经针对这种情况对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中即使有一点差异也可能累积并产生明显的影响。

最佳答案

你在问什么? :)

SSI已死。是的,它在SERVER SIDE上进行了高度优化,但是,不仅在服务器中而且在浏览器中缓存控制可能也不是很有效。

如果使用过多的SSI,则服务器将必须为每个请求检查所有相关文件的修改状态。您无法控制HTTP header ,例如Expires和ETag。

ASP.NET和ASP.NET MVC提供了太多(太多)方法来控制和使缓存无效,这可以提供更好的整体性能,更可伸缩的设计和更好的可维护性代码。

关于asp.net - ASP.NET/ASP.NET MVC中类似SSI的功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3345398/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com