2009-07-02 36 views

回答

3

这样做的方法是将您的注册封装到可从XML注册的Autofac模块中。 (模块描述如下:http://code.google.com/p/autofac/wiki/StructuringWithModules

你的模块看起来是这样的:

public class MyModule : Module 
{ 
    protected override void Load(ContainerBuilder builder) 
    { 
    builder.Register(c => MyFactory.GetMyObject()).As<IMyObject>(); 
    } 
} 

和XML进行注册:

<module type="MyModule" /> 
0

Autofac最初是为从代码配置,甚至是自动布线而构建的。

也许你正在寻找的是类似Spring.NETCastle。这两个框架最初是为了从XML配置,甚至是自动配置而构建的。

0

从代码处理注册似乎对使用web.config有一些优点,因为通过这种方式处理复杂的依赖关系似乎更容易。

当我看到下面的例子时,唯一担心的是所有注册都是在Global.asax中完成的。不过,通过向单独的程序集分发注册,这很容易解决。