Asp.Net WebFormsアプリケーションで、MEF(Managed Extensibility Framework)を使用する

はじめに

これまでデスクトップアプリ(WinForms)の開発では、MEFで開発を行ってきたが、
ASP.Netでも導入できないか試行錯誤し、構築した際のメモ
※MEFは拡張可能なアプリケーションを作るためのDIフレームワーク
MSでは、.Net Framework4より標準で搭載されており、ライブラリ無しで利用できる

処理概要

Webアプリケーションの場合は、デスクトップアプリ(WinForms)とはことなり、
PageやControlがリクエストの度に生成されるため、このタイミングで
MEFコンテナを呼び出しインスタンスを生成する

MefUtil.cs

MEFコンテナを利用するクラスを作成、初期時インスタンスが必要なdllを読み込んでおき、
ComposeParts()メソッドでインスタンスの生成

TestPage.aspx.cs

ページの場合は、Page_Init()で呼び出す。

TestPage.aspx.cs

ユーザーコントロールの場合は、Page_Init()で呼び出す。

Print Friendly, PDF & Email

シェアする

  • このエントリーをはてなブックマークに追加

フォローする