我创建了一些自定义内容类型,其中包括路径部分,因此我的内容管理员可以编辑项目的slu .. 我没有运气配置一个路由,使我自己的控制器能够为这些项目提供服务.
核心Routable模块中ItemController路径的路径优先级为10.我尝试制作一条利用IRouteConstraint的路由,类似于Blog模块实现我想做的事情,优先级较低但仍然没有运气.
如果我使用/结束我的URL,则会激活我的自定义路由,因为它与我的内容项的路径不匹配.这不是一个理想的解决方案.我无法理解为什么它不会在属于Routable模块的路径之前发现我的自定义路由.
非常感谢任何帮助,非常感谢提前.
更新:
这是我的IRouteProvider实现中的GetRoutes方法:
public IEnumerable<RouteDescriptor> GetRoutes()
{
return new[] {
new RouteDescriptor
{
Priority = 0,
Route = new Route(
"Admin/Jugganort/{controller}/{action}/{id}",
new RouteValueDictionary {
{"area", "Jugganort"},
{"controller", "Area"},
{"action", "List"}
},
new RouteValueDictionary(),
new RouteValueDictionary {
{"area", "Jugganort"}
},
new MvcRouteHandler())
},
new RouteDescriptor
{
Priority = 9,
Route = new Route(
"{location}/{merchant}/{promotion}",
new RouteValueDictionary {
{"area", "Jugganort"},
{"controller", "Home"},
{"action", "Index"},
{"merchant", UrlParameter.Optional},
{"promotion", UrlParameter.Optional}
},
new RouteValueDictionary {
{ "location", _routeConstraint }
}, …Run Code Online (Sandbox Code Playgroud) 我已经开发了Orchard CMS几个月了(并且喜欢它),启动我的网站的时间快到了.到目前为止,我刚刚从我的BitBucket回购开发,在必要时分叉,没有做任何太花哨的事情.一旦我发布了,我真的需要掌握我的模块和主题在生产中使用的确切版本.我认为我的构建服务器中的版本化软件包是实现这一目标的最佳方式.
目前我的repo包含整个Orchard实例的源(减去App_Data文件夹),以及包含作为我的模块和主题的项目的解决方案文件.我的模块从App_Data/Dependencies文件夹中获取其他模块的依赖项.
我的问题是,这是实现持续集成的最佳方法吗?
我在TeamCity下构建了我的解决方案,但我没有在我的仓库中包含App_Data文件夹,所以我至少需要加载设置页面以便填充Dependencies目录(由于某种原因,我的构建服务器上不会发生这种情况) ?似乎只有动态编译才能解决所有问题?)
任何想法或帮助将不胜感激.
更新:
我已经决定将lib文件夹添加到我的解决方案中并在那里存储所有依赖程序集.然后我会让我的repo只包含我的模块/主题所需的项目.CI服务器在构建解决方案时没有任何问题,我可以将repo克隆到Orchard实例中以便于开发(这意味着我的解决方案必须包含Modules和Themes目录).