1
私はRedisのデータベースに対して次のリポジトリのクラスを持っている:ServiceStack IOC:テンプレートクラスに登録する方法
public class RedisRepositoryBase<TRedisEntity> : IRedisRepository<TRedisEntity> where TRedisEntity : class, IRedisEntity
public class MyClassARepository : RedisRepositoryBase<MyClassA>
public class MyClassBRepository : RedisRepositoryBase<MyClassB>
public class MyClassCRepository : RedisRepositoryBase<MyClassC>
TRedisEntity
は私POCOSの基底クラスですId
、CreationDate
などが定義されているようないくつかの一般的な小道具。派生レポクラスのコンストラクタは、次のように定義されます、私は多くの方法がある参照ServiceStack IOCのドキュメントを読む
public override void Configure(Container container)
{
container.Register<IRedisClientsManager>(c => new PooledRedisClientManager(connStr)); // the connection pool
// Now I do not understand how to register the repositories
container.Register<IRedisRepository<IRedisEntity>>(c => new MyClassARepository(c.Resolve<IRedisClientsManager>()); //This is wrong, get conversion error!
// ... other configuration stuff
}
:
public MyClassARepository(IRedisClientsManager redisManager) : base(redisManager)
{
}
は、今私は私のAPPHOSTクラスでこれらのリポジトリを登録しよう私のレポジスを登録するには、私はそれを得ることができません....
私はすべての派生クラスを登録する必要がありますか、これは間違った仮定ですか? Funcでレポクラスを登録する正しい構文は何ですか?
多くの感謝!
確認ええ、私はあまりにも疲れている....おかげDEMIS! – ThommyB