【发布时间】:2019-10-15 02:24:43
【问题描述】:
我正在尝试在一个项目的类中加载绑定。我正在为缓存使用 3rd 方扩展,我需要加载的类如下所示,使用 c# 和 .net 框架 472 。
public class CouchbaseCache : ICouchbaseCache, IDistributedCache
{
public CouchbaseCache(ICouchbaseCacheBucketProvider provider, IOptions<CouchbaseCacheOptions> options);
public IBucket Bucket { get; }
public CouchbaseCacheOptions Options { get; }
}
通常,如果我必须加载,我会使用类似的东西 Bind().To().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();
我需要为沙发底座和存储桶名称提供 Uri,并且逻辑无处不在。任何知识共享将不胜感激。
【问题讨论】: