ブログから特定のブログポストを取得するコントローラを作成しようとしています。 私はトップ20の投稿&の20のトップ定評のある記事を検索したいと思います。オーチャード・モジュールでIBlogService(またはその他のサービス)を使用する
このため、この情報を取得するコントローラを作成しました。 Orchardの標準的なブログモジュールを掘り下げた後、私はIBlogServiceまたはIBlogPostServiceが必要であることがわかります。
public BlogPostController(
IOrchardServices services,
IBlogService blogService,
IBlogPostService blogPostService,
IFeedManager feedManager,
IShapeFactory shapeFactory)
しかし、どのようにこれらのサービスは、接続/配線されている/注入された: 私はそうのように、これらはBlogPostControllerに注入されて見ることができますか?コンストラクターが呼び出された部分のコードを見つけることができず、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();
}
}
ありがとうございました!私はすでにこのような疑いがありましたが、ソリューション内に配線/セットアップクラス/ファイルが見つかりませんでした。これを試してみよう! –
いいえ心配しています:) AutoFacのドキュメントを読んだり、オートファックを使って何かを書くことをお勧めします。 – mdm
さらに、Orchard.Blogsをこのインタフェースをインジェクトするフィーチャーの依存関係として宣言する必要があります。そうしないと、フィーチャーを使用可能/使用不可にするときに混乱することがあります。依存関係は、module.txtファイルで宣言できます。 –