已注册的Autofac类型为单个实例,但每个API调用实例化新实例

时间:2017-07-19 08:29:48

标签: asp.net-web-api singleton autofac

将ASP.NET API与Autofac一起使用,尝试在web api中注册单个实例

containerBuilder.RegisterType<SomeService>().As<ISomeService>().SingleInstance();

注意,上面提到的SomeService依赖于使用

注入和配置的SomeRepository
containerBuilder.RegisterType<SomeRepository>().As<ISomeRepository>();

使用

注入
public class SomeService : ISomeService
    {
        private readonly ISomeRepository someRepository;

        public AppSettingService(ISomeRepository someRepository)
        {
            this.someRepository= someRepository;
        }
        ...

我希望这在整个应用程序生命周期中只实例化一次,但是每个API调用都会创建一个新实例。我做错了什么?

1 个答案:

答案 0 :(得分:0)

SomeRepository未注册为单个实例。将SomeRepository注册为单个实例。