Я пытаюсь загрузить привязки в классе для проекта. Я использую сторонние расширения для кэширования, и класс, который мне нужно загрузить, выглядит следующим образом, используя c # и .net framework 472.
public class CouchbaseCache : ICouchbaseCache, IDistributedCache
{
public CouchbaseCache(ICouchbaseCacheBucketProvider provider, IOptions<CouchbaseCacheOptions> options);
public IBucket Bucket { get; }
public CouchbaseCacheOptions Options { get; }
}
обычно, если мне нужно загрузить, я бы использовал что-то вроде
.. Bind () К () InSingletonScope ();
Но как бы я сделал это для вышеуказанного класса, предоставив информацию о корзине и Опции в качестве значений при загрузке? Я не мог обдумать это.
Кроме того, ICouchbaseCachebucketProvider - это интерфейс, производный от INamedbucketProvider, а производный класс выглядит как
public interface INamedBucketProvider
{
string BucketName { get; }
IBucket GetBucket();
}
Пока мне удалось настроить CouchbaseClientDefinition следующим образом
Bind<ICouchbaseClientDefinition>().ToMethod(ctx =>
{
var options = new CouchbaseClientDefinition
{
Servers = new List<Uri>
{
new Uri("http://couchbase.com/")
}
};
return options;
}).InSingletonScope();
Мне нужно дать Ури для дивана, а также имя ведра, и логика повсюду. Любой обмен знаниями будет принята с благодарностью.