正如我在这里所揭示的,我希望能够在没有 Orchard 为我构建查询的情况下自由地查询索引。
我构建了一个模块,并插入了 SearchController 的副本,添加了一条新路由……为了覆盖有关查询的默认 Orchard 行为,我必须创建以下新实现:ISearchService、IIndexManager、ISearchBuilder、IIndexProvider。它们的默认实现有一些小的修改,但它们是必需的。
这按预期工作,但它目前也覆盖了默认搜索。这是因为我使用了相同的接口,而 autofac 采用了我的实现。
我希望能够保持默认实现不变(在 url /Search 处),并在 url 处添加我的实现(例如 /LuceneSearch)
我想我必须通过创建一个继承 autofac Module 类的类来告诉 Autofac 仅将我的实现用于我的控制器。这是我的问题:我不知道如何告诉 Autofac 默认使用 Orchard 实现,而仅对于我的控制器,使用我的实现....
另一种可能性是创建新界面,但在我看来并不是很漂亮......
有人能帮我吗 ?:)