【问题标题】:Refresh DotNetNuke Portal Alias Cache without recycling the App Pool刷新DotNetNuke Portal Alias Cache而不回收App Pool
【发布时间】:2012-10-11 16:35:37
【问题描述】:

我正在使用 DNN 6.01 安装,我们在其中为新用户创建新的子域 + 门户别名。如果相关,我们正在使用 C#。

这通常效果很好,但是目前如果我们重命名其中一个子域/别名对(例如,由于创建时的拼写错误或其他原因),则在我们回收应用程序池之前更改不会生效。由于这是一个拥有数千名用户和电子商务解决方案的实时应用程序,随机重置每个人的会话是不可接受的。等待子域/别名更改的每晚回收生效并不理想。

最好以编程方式执行此操作,以便我可以简单地将其合并到管理子域/别名对的模块中。

如何在不回收应用程序池和/或丢弃会话的情况下以编程方式刷新 DNN 门户别名缓存?

【问题讨论】:

    标签: c# dotnetnuke


    【解决方案1】:

    如果您使用公共 API(PortalAliasController.UpdatePortalAliasInfo 似乎合适),则应注意缓存。如果公共 API 不起作用,请在 support.dotnetnuke.com 上的跟踪器中创建一个错误。

    如果你真的不能使用公共 API(你真的应该使用公共 API)那么你可能想要调用 DataCache.RemoveCache(DataCache.PortalAliasCacheKey)。

    从 6.2 开始,API 还负责内部管理服务框架的路由。我认为没有任何公共方法可以处理 Services Framework 的内部,因此这是确保使用公共 API 的另一个原因。

    【讨论】:

      【解决方案2】:

      我不想这么说,但听起来您只需要安排停机时间并进行回收。您可以从 Host 面板中执行 Clear Cache,但我不确定这是否能实现您的要求。

      【讨论】:

      • 我已经有了这个想法,并想出了如何以编程方式清除主机缓存(DataCache.ClearHostCache),但我仍在测试这是否会清除门户别名缓存......文档很少。
      猜你喜欢
      • 2011-05-02
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 2022-11-24
      • 2012-07-02
      相关资源
      最近更新 更多