【问题标题】:nopCommerce store with a custom plugin web deploy issue具有自定义插件 Web 部署问题的 nopCommerce 商店
【发布时间】:2018-01-27 13:50:58
【问题描述】:

NopCommerce 版本:3.9

我使用 NopCommerce 3.9 设计了一个网上商店。我添加的任何代码都在插件中。

商店使用可以在插件中找到的首页。它依赖于插件中 RouteProvider 类中名为“home”的路由。它不会抱怨该路由,而是抱怨在同一文件中找到名为“RegisterVendor”的路由。这是两条路线

routes.MapRoute("home",
            "",
            new { controller = "AoiVendorsHome", action = "Index" },
            new[] { "Nop.Plugin.Other.AoiVendors.Controllers" });

 routes.MapRoute("RegisterVendor",
            "register/designer",
            new { controller = "AoiExchange", action = "RegisterVendor" },
            new[] { "Nop.Plugin.Other.AoiVendors.Controllers" });

插件安装正确,并且在我的本地机器上一切正常。

问题是部署到网络后找不到路由。这里是一个imgur链接,点进去看error

重新启动服务器会暂时修复错误,但最终还是会出现。每当我重新部署时它也会回来,而无需随后重新启动服务器。

有人有什么想法吗?

谢谢。

【问题讨论】:

    标签: asp.net-mvc-5 nopcommerce nopcommerce-3.90


    【解决方案1】:

    nopCommerce的“主页”路由就是这样注册的

    //home page
    routes.MapLocalizedRoute("HomePage",
                             "",
                             new { controller = "Home", action = "Index" },
                             new[] { "Nop.Web.Controllers" });
    

    检查您的加载顺序:如果您的注册没有首先命中,请删除 nopCommerce“主页”路由并添加您的或使用 IRouteProvider 的 Priority 属性先添加您的。

    MVC 使用最先匹配请求的路由。

    关于部署问题,请确保您的插件部署到 ~/Plugins/{yourPluginFolder} 而不是 Nop.Web 的 bin 文件夹。 ~/bin 文件夹中的插件可以加载,但不保证。

    【讨论】:

      【解决方案2】:

      我可以通过在 Visual Studio 的发布弹出对话框中的设置选项卡上的文件发布选项下选择“在目标位置删除其他文件”复选框来解决此问题。我想旧文件没有被覆盖并导致问题。

      【讨论】:

        猜你喜欢
        • 2016-07-29
        • 2016-11-12
        • 2023-03-15
        • 2018-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-04
        相关资源
        最近更新 更多