C# 我能让couchbase在类库中工作而不仅仅是我的webapp吗

C# 我能让couchbase在类库中工作而不仅仅是我的webapp吗,c#,couchbase,C#,Couchbase,我的项目有以下设置: MyProject.WebApp (dependent on MyProject.Domain) MyProject.Domain 在我的webapp中,我有couchbase的例行设置,它可以成功运行(例如,如果我在我的一个控制器中设置了一个简单的get,它可以正常工作),但是当我尝试在类库中执行代码(MyProject.Domain)时,它无法成功连接。我曾尝试在我的类库中开发一个如下所示的类: public static class CouchbaseManager

我的项目有以下设置:

MyProject.WebApp (dependent on MyProject.Domain)
MyProject.Domain
在我的webapp中,我有couchbase的例行设置,它可以成功运行(例如,如果我在我的一个控制器中设置了一个简单的get,它可以正常工作),但是当我尝试在类库中执行代码(
MyProject.Domain
)时,它无法成功连接。我曾尝试在我的类库中开发一个如下所示的类:

public static class CouchbaseManager
    {
        private  static CouchbaseClient _instance;

        static CouchbaseManager()
        {
            _instance = new CouchbaseClient(); 
        }

        public static CouchbaseClient Instance { get { return _instance; } }
    }

在我的webapp的
Global.asax
中,我尝试初始化这个
CouchbaseManager
,这样我就可以在类库中使用它了,但运气不好。我已经在我的类库中添加了一个
app.config
文件以及所有正确的设置。这可以做到吗?

如果不了解您的具体错误,很难说。如果引用正确,您的类库将与web应用共存,因此您不需要app.config,web.config中的详细信息应该足够了:节声明和用数据库详细信息填充的couchbase节

还要检查库是否设置为使用完整的.net版本,因为它无法在“.net Framework客户端配置文件”下运行


从个人角度来说,我会为您的数据访问层创建另一个项目,并让您的web应用程序和域库访问它,这样您的设计会更好,并避免使用2个不推荐的couchbase客户端实例。

如果您尝试另一种方式,是否有错误?如果您只是使用
CouchbaseClientSection
初始化
CouchbaseClient
,那么这样做有效吗?为什么不将这个CouchbaseManager类声明为密封的,并基于
Lazy
类实现单例模式呢<代码>公共密封类CouchbaseManager{private static readonly Lazy{u Lazy=new Lazy(()=>new CouchbaseManager());公共CouchbaseClient;私有CouchbaseRepo(){Client=new CouchbaseClient(CouchbaseConfig.getBucketConfigSection(“bucketname”);}公共静态CouchbaseManager实例{get{return\u lazy.Value;}}}