我想這取決於你是否打算在多個主機應用程序中使用相同的程序集。程序集是否真的需要引用AutoFac?我會建議反對這一點,就好像你的需求在稍後改變一樣,你會有不必要的參考。您的主機應用程序應控制如何組裝模塊化部件,因此我將配置保留給主機(在本例中爲您的Web應用程序)。如果您想要對註冊進行一些控制,則可以創建一個類型來處理您的註冊,但正如我之前提到的,您的組件基本綁定到使用AutoFac例如:
public static class NewsRegistration()
{
public static void RegisterTypes(ContainerBuilder builder)
{
// Register your specific types here.
builder.RegisterType<NewsService>().As<INewsService>();
}
}
這樣,你可以很容易地撥打:
var builder = new ContainerBuilder();
// Register common types here?
NewsRegistration.RegisterTypes(builder);
var container = builder.Build();