【问题标题】:Why do we need to restart IIS after copied DLLs into Assembly为什么我们需要在将 DLL 复制到程序集中后重新启动 IIS
【发布时间】:2010-12-20 06:54:42
【问题描述】:

每当我们将 Dll 复制到程序集文件夹时,我们都需要重新启动 IIS。这需要更多时间,我们需要为每一次更改都这样做。所以充满了浪费时间。

是否有任何替代选项来代替重新启动 IIS。

我正在使用 Sharepoint 2007、Windows Server 2008

【问题讨论】:

    标签: sharepoint iis gac


    【解决方案1】:

    我们重新启动 IIS 以重置应用程序池,因为 SharePoint 中的许多内容都已缓存。另一种选择是您可以回收已为其部署 WSP 或 DLL 的应用程序的应用程序池

    【讨论】:

    • 其实不是SharePoint功能,而是更底层的.NET缓存机制。
    • @Vladi 在共享点的情况下,它可用于重置由 w3wp.exe 创建的其他缓存项,这是在代码中进行任何新更新后需要的,这就是为什么我没有将通用术语编写为 .net 疼痛机制但最后,SharePoint 中的所有内容都由 .Net 框架管理
    • 可以,但是在开发的时候,通常只需要重新加载DLL即可。我们总是直接编译到 BIN 中,并且工作进程只是把它捡起来。当然,它不适用于计时器作业或事件接收器,但无论如何这些都是少数。
    • @Vladi Minority 当您尝试提出一个通用答案时,也包括在内,而您不知道用户的确切要求是他是否在 dll 中包含任何计时器作业或事件处理程序代码。我的观点是,除非你完全确定,否则你应该避免投反对票。无论如何,我为他的问题提出的解决方案都是 100% 正确的
    • 谁说过反对票?
    【解决方案2】:

    它的 ASP.NET 行为: Asp.net Reinstalling a DLL into the GAC

    【讨论】:

      【解决方案3】:

      重置应用程序池,因为很多东西都被缓存并且连接到您的 Web 服务器的所有会话(包括 Internet、FTP、SMTP 和 NNTP)都被丢弃

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-01-11
        • 2013-12-17
        • 1970-01-01
        • 1970-01-01
        • 2011-08-27
        • 2020-09-26
        • 1970-01-01
        • 2016-04-27
        相关资源
        最近更新 更多