2
我正在使用單獨的核心類庫編寫Outlook加載項。我試圖使用一個Ioc容器(Autofac),但是我對於如何將Outlook會話註冊爲我的服務的依賴關係有點遺憾。使用依賴注入(IoC)的Outlook加載項
我是一個DI新手。
在我ThisAddIn.cs文件我實例化一個引導程序在我的類庫:
public override void BeginInit()
{
_core = new AddInBootstrapper();
base.BeginInit();
}
的AddInBootStrapper.cs類是我的核心類庫。它的構造看起來像這樣:
public AddInBootstrapper()
{
var containerBuilder = new ContainerBuilder();
containerBuilder.RegisterType<OutlookService>().As<IOutlookService>();
containerBuilder.RegisterType<EmailPrintService>().As<IPrintService<Microsoft.Office.Interop.Outlook.MailItem>>();
_container = containerBuilder.Build();
}
我OutlookService類對Outlook會話的依賴(ThisAddIn.Application.Session):
public OutlookService(Microsoft.Office.Interop.Outlook.NameSpace session)
{
_session = session;
}
我不知道如何在這樣組裝起來正確的方式。我是否簡單地通過構造函數將Session傳遞到Bootstrapper類中,然後將其連接起來,還是有其他更好的方法?
_core = new AddInBootstrapper(this.Application.Session);
我發現了一些可行的方法,但不確定是否理想。見下文 – raydenl 2012-07-19 01:19:22