代码之家  ›  专栏  ›  技术社区  ›  Brian Webster

dotnetnuke-每次在bin文件夹中修改第三方dll时,都需要dnn 10秒加载下一页。

  •  1
  • Brian Webster  · 技术社区  · 14 年前

    我有一个标准的DotnetNuke安装,我正在为它开发一些模块。

    每次我更新一个模块时,它都会更新dotnetnuke安装的bin文件夹中该模块的dll。

    尽管我没有接触到主dotnetnuke dll,但似乎IIS正在重新处理文件夹中的每个dll,或者执行一些其他非常耗时的任务,因为在重新编译单个模块的dll之后,加载任何页面至少需要10秒。

    相比之下,如果此模块在dotnetnuke之外运行,它将在一秒钟内加载。

    有什么办法可以避免这种延误吗?

    2 回复  |  直到 14 年前
        1
  •  5
  •   ScottS    14 年前

    每当更改bin文件夹中的.dll时,ASP.NET将重新启动应用程序。应用程序启动不一定意味着任何东西都会重新编译,尽管有些模块可能会重新编译,但在使用之前可能不会。检查/加载bin文件夹中的所有程序集以及执行所有应用程序启动代码需要花费大量时间。删除任何不需要的模块将有助于缩短启动时间,因为这些程序集不再需要加载。

    Mitchell Sellers有一个很棒的文档,名为DotnetNuke性能配置最佳实践 download here 其中一些建议将有助于缩短启动时间,它通常是关于如何有效部署DNN站点的一个很好的参考。

        2
  •  1
  •   µBio    14 年前

    根据注释,这听起来像是通常发生的ASP.NET站点编译。这里有一些关于细节的好链接。

    msdn: ASP.NET Compilation Overview
    msdn: ASP.NET Web Site Precompilation Overview
    Rick Stahl has a good write up