How to register singleton on Autofac
我在
现在,我想在
C#代码[接口]
1 2 3 4 | public interface IMongoDbContext { IMongoDatabase Database { get; } } |
类
1 2 3 4 5 6 7 8 | public class MongoDbContext : IMongoDbContext { public MongoDbContext(string connectionString, string databaseName); public string DatabaseName { get; } public IMongoDatabase Database { get; } public string ConnectionString { get; } } |
储存库类
1 2 3 4 5 6 7 | public class DemoRepository : IDemoRepository { public DemoRepository(IMongoDataContext context) { } } |
现在,在.Autofac中
1 2 3 4 5 6 | builder.Register(c => new MongoDbContext(dbConnectionString, dataBaseName)).As<IMongoDbContext>().SingleInstance(); //dbConnectionString and dataBaseName are string variables declared above. // and then to Resolve it builder.Register(c => new DemoRepository(c.Resolve<IMongoDbContext>)).As<IDemoRepository>(); // but in above line it shows error at `c.Resolve<IMongoDbContext>` it shows `cannot convert from 'method group' to 'IMongoDbContext'` |
谁能帮我解决这个问题。 我是autofac和依赖注入的新手,我想知道如何在autofac中注册Singleton。
任何帮助将不胜感激...!
谢谢
1 | c.Resolve<IMongoDbContext> |
应该:
1 | c.Resolve<IMongoDbContext>() |
您忘记了调用/调用函数。
我不知道为什么在注册
1 | builder.RegisterType<DemoRepository>().As<IDemoRepository>(); |