如何刷新#include文件 - 它们在IIS7/ASP.NET上进行缓存

fra*_*lic 6 asp.net iis-7 include server-side-includes

我有一个ASP.NET母版页引用#include文件,如下所示:

<!--#include virtual="/includes/scripts.inc"-->
Run Code Online (Sandbox Code Playgroud)

我修改了文件/includes/scripts.inc,但更改没有显示在页面中.需要做什么才能反映这些修改?

我需要避免以下情况:

  • 重新启动服务器
  • 重启IIS
  • 修改web.config(似乎没有任何效果)
  • 几乎任何导致应用程序域重新启动的东西

还有其他选择吗?是否有一个设置会影响IIS缓存#include文件的时间?

Tho*_*mas 4

首先,您可能知道,不应在 ASP.NET 中使用 #include 指令。正确的解决方案是使用用户控件或服务器控件。但是,如果您想要将一堆 HTML 和 Javascript 注入到页面中(即没有服务器端代码),那么您可以使用 Response.WriteFile:

<%@ Page Language="vb"%>
<html>
<body>
    <% Response.WriteFile( "scripts.inc" ) %>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)