Как использовать [OrchardFeature()] при создании модулей с несколькими функциями?

#orchardcms #orchard-modules #orchardcms-1.10

#orchardcms #orchard-модули #orchardcms-1.10

Вопрос:

Я работаю над модулем Orchard CMS, который будет содержать несколько функций, я обнаружил, что orchard имеет атрибут [OrchardFeature(«Feature.Name «)], которые должны быть применены к нескольким функциям.

В моем случае мне нужно, чтобы контроллер и маршрут были частью одной и той же функции, поэтому я применил атрибут к обоим, но в этом случае мой контроллер возвращает 404.

Если я попытаюсь удалить атрибут, он будет работать нормально, и действие моего контроллера может быть найдено.

 [OrchardFeature("Yaplex.SEO.Robots")]
public class RobotsTxtController : Controller
{
    // GET: RobotsTxt
    public ActionResult Index()
    {
        return Content("I am robots txt");
    }
}

[OrchardFeature("Yaplex.SEO.Robots")]
public class Routes : IRouteProvider {
    public IEnumerable<RouteDescriptor> GetRoutes() {
        return new[] {
            new RouteDescriptor {
                Priority = 10,
                Route = new Route(
                    "robots.txt", 
                    new RouteValueDictionary {
                        {"area", "Yaplex.SEO"},
                        {"controller", "RobotsTxt"},
                        {"action", "Index"}
                    },
                    new RouteValueDictionary(),
                    new RouteValueDictionary {
                        {"area", "Yaplex.SEO"}
                    },
                    new MvcRouteHandler())
            }
        };
    }

    public void GetRoutes(ICollection<RouteDescriptor> routes) {
        foreach (var routeDescriptor in GetRoutes())
            routes.Add(routeDescriptor);
    }
}
  

Я что-то делаю не так?

Комментарии:

1. Вы убедились, что действительно включили эту функцию в разделе Модули на панели мониторинга?

2. Спасибо, Сипке, ты был прав. Я не включил его. После включения работает для меня. Если вы ответите на этот вопрос, я отмечу его как ответ (не могу сделать это с комментарием)