【问题标题】:Site Map and other site metadata updates won't show up due to caching issue由于缓存问题,站点地图和其他站点元数据更新不会显示
【发布时间】:2014-12-28 20:08:30
【问题描述】:

由于我使用的是 OWIN 身份验证,我不得不将 cms 放在不同的网站上。 cms 位于cms.domain.com,在我的 domain.com VS 项目中,我只是将“piranha”连接字符串指向了正确的数据库。到目前为止一切正常,我只需要更改 MediaProvider 即可处理 IMediaProvider 的 2 个检索方法的域名问题。

现在我正在尝试使用 @UI.Menu 帮助程序集成菜单,但是看起来帮助程序没有使用 Web.Config 文件的数据库(我从 C# 检索帖子没有问题)。我只看到列出的开始页面。为了确认这一点,我还尝试将站点描述从 cms.domain.com/manager 更改并使用帮助程序 @Site.Description 显示它,但它仍然显示默认站点描述,所以它看起来真的像周围有另一个数据库..

HTML 助手使用的数据从何而来?我该如何解决这个问题?

更新: 看来实际上是缓存问题,与连接字符串无关。

【问题讨论】:

    标签: asp.net-mvc piranha-cms


    【解决方案1】:

    Piranha CMS 缓存了大量元数据以提高性能并最大限度地减少与数据库的往返次数。 站点信息站点地图就是其中两个,因为它们很可能会在每个页面呈现中使用。

    默认缓存实现使用每个应用程序池的 IIS 缓存。在管理器界面中修改数据时缓存会失效,但是如果您例如在另一个应用程序池(站点/应用程序)中运行管理器界面,这将导致缓存失败,从而导致您描述的错误。

    不确定您的应用程序是如何设置的,这是我的主要猜测。如果您实际上在不同的应用程序池中运行客户端 Web 和管理器,并且您需要继续这样做,您应该尝试以下方法之一。

    1. 实现分布式缓存提供程序
    2. 将系统参数CACHE_SERVER_EXPIRES设置为1

    将参数设置为 1 会使所有服务器缓存在 分钟后失效。如果您希望网站有大量流量,当然不建议这样做,因为它或多或少会禁用缓存机制。

    希望对你有帮助。

    最好的问候

    哈坎

    【讨论】:

      【解决方案2】:

      突然之间,它现在开始工作了。我记得做的唯一一件事是删除 dbo.page 表中的重复条目。现在一切正常,但是它没有解释为什么站点描述也没有正确检索。但没关系,我希望这对其他人有帮助。我希望自定义身份验证将内置在 Pihrana CMS 的下一个版本中!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-08-26
        • 2013-12-23
        • 1970-01-01
        • 2011-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多