pro*_*011 4 c# singleton dependency-injection autofac asp.net-mvc-4
我Autofac在我的网络应用程序中使用依赖注入.Net Core 2.0。我对Autofac依赖注入概念很陌生。
现在,我想DI在 DI 容器中注册一个单例并解析它。
C# 代码 [接口]
public interface IMongoDbContext
{
IMongoDatabase Database { get; }
}
Run Code Online (Sandbox Code Playgroud)
班级
public class MongoDbContext : IMongoDbContext
{
public MongoDbContext(string connectionString, string databaseName);
public string DatabaseName { get; }
public IMongoDatabase Database { get; }
public string ConnectionString { get; }
}
Run Code Online (Sandbox Code Playgroud)
存储库类
public class DemoRepository : IDemoRepository
{
public DemoRepository(IMongoDataContext context)
{
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在 .Autofac 中
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'`
Run Code Online (Sandbox Code Playgroud)
谁能帮我解决这个问题。我是 autofac 和依赖注入的新手,我想知道如何在 autofac 中注册 Singleton。
任何帮助将不胜感激......!!
谢谢
c.Resolve<IMongoDbContext>
Run Code Online (Sandbox Code Playgroud)
应该:
c.Resolve<IMongoDbContext>()
Run Code Online (Sandbox Code Playgroud)
您忘记调用/调用该函数。
| 归档时间: |
|
| 查看次数: |
8235 次 |
| 最近记录: |