0

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链接,按照它查看错误

重新启动服务器可以修复一段时间的错误,但它最终会再次出现。它也会在我重新部署时返回,而无需随后重新启动服务器。

有没有人有任何想法?

谢谢你。

4

2 回答 2

0

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 文件夹中的插件可以加载,但不能保证。

于 2017-08-21T09:20:00.610 回答
0

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

于 2017-08-21T14:35:43.770 回答