私はを私の.Net Core 2.0
ウェブアプリケーションの依存性注入に使用しています。私はAutofac
と依存性注入の概念を初めて使用しています。Autofacでシングルトンを登録するには
今、DI
にシングルトンを登録し、DIコンテナで解決したいと考えています。
C#コード[インタフェース]
public interface IMongoDbContext
{
IMongoDatabase Database { get; }
}
クラス
public class MongoDbContext : IMongoDbContext
{
public MongoDbContext(string connectionString, string databaseName);
public string DatabaseName { get; }
public IMongoDatabase Database { get; }
public string ConnectionString { get; }
}
リポジトリクラス
public class DemoRepository : IDemoRepository
{
public DemoRepository(IMongoDataContext context)
{
}
}
さて、.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'`
は、誰もがこれを解決するために私を助けることができます。私はautofacと依存性注入には新しいです、私はどのように私がオートファクトでシングルトンを登録することができるか知りたいです。
どんな助力も高く評価されます... !!
おかげ
「c.Resolveでエラーが表示されます。エラーとは何ですか? –
mjwills
@mjwills - 'メソッドグループ'から 'IMongoDbContext'に変換できません。 – prog1011
[メソッドグループからオブジェクトに変換できません - C#](https://stackoverflow.com/questions/13116004/cannot-convert -from-method-group-to-object-c-sharp) – mjwills