【发布时间】:2014-12-12 21:58:44
【问题描述】:
我目前正在创建一个基于 nopCommerce 的网上商店,但我需要为每位客户提供独特的产品。 为此,我编辑了 catalogController 以根据我自己的数据库表过滤产品。
当从 Visual Studio 2013 运行 nopCommerce 时,我使用的代码完美运行:为每个客户显示正确的产品,当没有人登录时不显示任何产品。
我将 nopCommerce 部署到我的本地计算机,然后将文件复制到我们的 (IIS7) 网络服务器,之后它也完全按预期工作(无需重新启动服务器)。
重启网络服务器后问题开始出现。如果网络服务器重新启动,每个客户将始终看到每个产品。
出于调试目的,我创建了一个 ActionFilterAttribute 以查看该函数是否仍然被调用(它确实被调用),并且我在已编辑函数的第一行添加了一条日志消息以检查该函数是否运行,结果是该功能不运行。
我怀疑 nopCommerce 在启动应用程序时会缓存类别页面。我知道 nopCommerce 使用缓存,但我找不到有关缓存内容或如何禁用它的任何信息(部分缓存或完全关闭缓存)
【问题讨论】:
-
如果您不想从缓存中加载您的类别和产品,请在目录和产品控制器中的类别方法和产品方法中查找缓存并删除缓存,然后每次请求中都会获得新的过滤器内容。
-
@Vap 正如我在帖子中解释的那样:该方法永远不会运行。我有一行写入方法顶部的日志文件,并且日志文件没有被写入。对该方法的任何编辑都不会影响任何内容。
-
不看你的代码,我们很难评论太多。 :)
-
@wooncherk 几乎没有与该问题相关的代码。我可以显示我用来制作日志条目的代码并显示我制作的 ActionFilterAttribute,但任何其他代码都无关紧要,因为它从未达到过,尽管它应该是。
标签: caching nopcommerce