Düzenleyici hizmeti olarak düzenli hizmet alan önbellek hizmeti oluşturmak istiyorum. Daha sonra önbellek anahtarı olmadığında düzenli servisi aramak ve önbelleği güncellemek istiyorum. Benim fikrim düzenli servis ve önbellek servisinde aynı arayüze sahip olmak. Ancak, önbellek hizmeti uygulamasına enjekte etmeye çalıştığımda ve yöntemi uygularken istisna yapıyorum:Kendisine bağlı olarak doğrudan veya dolaylı olarak yazın Basit Enjektör
IUserRepository türü için kayıtlı delege bir istisna attı. Yapılandırma geçersiz. CacheUserRepository türü, doğrudan veya dolaylı olarak kendisine bağlıdır.
Kodum: Ne oluyor
public class ExecutionClass
{
private readonly Container _container;
public ExecutionClass()
{
_container = new Container();
_container.Register<IUserRepository, CacheUserRepository>();
_container.Register<ICache, Cache>();
}
public UserDTO GetUser(int Id)
{
//throws: The type CacheUserRepository is directly or indirectly depending
// on itself.
var userRepo = _container.GetInstance<IUserRepository>(); \
return userRepo.Get(Id);
}
}
RegisterDecorator yöntemini kullanmak için, CacheUserRepository – qujck