Asp classic IIS6上ASP.NET中包含的奇怪缓存

Asp classic IIS6上ASP.NET中包含的奇怪缓存,asp-classic,iis-6,asp.net-3.5,Asp Classic,Iis 6,Asp.net 3.5,我有一个经典的ASP风格#从ASP.NET文件中包括: (!-->include file=“../../main inc.aspxinc”--) (猜测它实际上是一个IIS服务器端包含?) 发生了一些奇怪的事情。似乎原始文件已缓存,因此maininc.aspxinc中的更改不会产生任何影响 IIS6 就我所能看到的范围而言,我已经离开了 Asp.NET 3.5(普通,非Web表单) 发生了什么事?我能做什么?动态类型是否应该有所不同? (我知道在ASP.NET中这通常是一个控件:-)考虑使用W

我有一个经典的ASP风格#从ASP.NET文件中包括: (!-->include file=“../../main inc.aspxinc”--)

(猜测它实际上是一个IIS服务器端包含?)

发生了一些奇怪的事情。似乎原始文件已缓存,因此maininc.aspxinc中的更改不会产生任何影响

  • IIS6
  • 就我所能看到的范围而言,我已经离开了
  • Asp.NET 3.5(普通,非Web表单)
  • 发生了什么事?我能做什么?动态类型是否应该有所不同?
    (我知道在ASP.NET中这通常是一个控件:-)

    考虑使用Web服务器控件而不是#include。看

    没有任何奇怪的缓存正在进行,但编译正在进行。第一次访问页面时,页面只编译一次,生成的程序集存储在临时文件夹中。对同一页的子序列请求只传递给程序集中的HttpHandler

    如果修改页面,ASP.NET将检测到现有程序集不再匹配并重新生成。我强烈怀疑这个机制没有考虑到#include

    您最好选择以下选项之一:-

    • 如果包含表示一组HTML控件,则为UserControl(扩展名为.ascx的文件)
    • 如果包含用于多个页面使用的通用导航标记,请使用母版页
    • 如果要包含一些常用类,请在应用程序代码中使用源代码文件(.vb或.cs)
    • 一个单独的库项目,用于为bin文件夹构建dll
    或停止使用#包括并使用更符合ASP.NET期望的方法。