我試圖創建一個從博客中檢索某些博客帖子的控制器。 我想檢索前20個帖子& 20個最受好評的帖子。在果園模塊中使用IBlogService(或任何其他服務)
爲此我創建了一個控制器,它將檢索這些信息。深入標準的Orchard博客模塊後,我看到我需要IBlogService或IBlogPostService。 我可以看到這些都是在BlogPostController注入,像這樣:
public BlogPostController(
IOrchardServices services,
IBlogService blogService,
IBlogPostService blogPostService,
IFeedManager feedManager,
IShapeFactory shapeFactory)
但如何這些服務有線/連接/注射?我無法找到調用構造函數的那段代碼,也找不到像我以前在StructureMap中那樣的線路。
我可以在構造函數中添加Iservices,並且Orchard會確保我有合適的對象,還是我需要做一些事情?
此刻我的課看起來像這樣(默認):
public class FrontpageController : Controller
{
public IOrchardServices Services { get; set; }
public FrontpageController(IOrchardServices services)
{
Services = services;
T = NullLocalizer.Instance;
}
public Localizer T { get; set; }
[HttpGet]
public ActionResult Index()
{
//Do something to get blogposts
throw new NotImplementedException();
}
}
謝謝!我已經懷疑過這樣的事情,但是我找不到解決方案中的任何接線/設置類/文件。會試試這個! – 2012-03-30 09:54:59
不用擔心:)我建議通讀一些AutoFac文檔或使用AutoFac編寫一些內容,因爲我發現它確實幫助我瞭解所有IoC內容。 – mdm 2012-03-30 09:56:33
此外,您還應該聲明Orchard.Blogs作爲您將此接口注入到的任何功能的依賴項,否則在啓用/禁用功能時可能會陷入混亂。依賴關係可以在module.txt文件中聲明。 – 2014-04-02 08:19:57