2012-05-15 5 views
5

Tengo 2 cubos en Couchbase, uno es de tipo Couchbase y el otro es de tipo Memcachced: cuando ejecuto la prueba, aparece un error: los servidores de elementos solo pueden aparecer una vez en esta sección. A continuación se muestra mi config:Configuración de cubo de múltiples cubetas en .NET

<couchbase> 
    <servers bucket="RepositoryCache" bucketPassword=""> 
     <add uri="http://127.0.0.1:8091/pools/default"/> 
    </servers> 

    <servers bucket="default" bucketPassword=""> 
     <add uri="http://127.0.0.1:8091/pools/default"/> 
    </servers> 
    </couchbase> 

How to configure multiple buckets and resolve the issue? I hv read the manual and I could not find much help. 

Respuesta

0

que he hecho esta pregunta antes Couchbase multiple buckets in .NET app.config pero nadie contestó.

He consultado rápidamente la sección ClientConfigurationSection de couchbase .net y en la sección "couchbase" de config puedes definir solo un servidor.

Así que puede definir un depósito "predeterminado" que almacenará los parámetros de conexión de otros depósitos. O ajustes de conexión de código duro. O cree su propio archivo xml, que contendrá parámetros de conexión y se verá como su configuración publicada anteriormente.

+0

Su documentación necesita un trabajo serio. ¡Es horrible! – slimflem

0

Encontré un camino para solucionar el problema anterior.

Podemos utilizar la sobrecarga del constructor de CouchbaseClient y pasar el nombre de depósito y la contraseña. Ej: var client = new CouchbaseClient ("predeterminado", "");

No es necesario poner todas las configuraciones de contenedor en la aplicación o archivos web.cong.

0

Si desea seguir utilizando la aplicación | Web.config, puede también acaba de crear una segunda sección de configuración de la siguiente manera:

<section name="otherconfig" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/> 

<otherconfig> 
    <servers bucket="default" bucketPassword=""> 
     <add uri="http://127.0.0.1:8091/pools"/> 
    </servers> 
    </otherconfig> 

var client = new CouchbaseClient((CouchbaseClientSection)ConfigurationManager.GetSection("otherconfig")); 
1

De the documentation, parece que puede hacerlo de esta manera:

<?xml version="1.0"?> 
<configuration> 
    <configSections> 
    <sectionGroup name="couchbase"> 
     <section name="bucket-a" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/> 
     <section name="bucket-b" type="Couchbase.Configuration.CouchbaseClientSection, Couchbase"/> 
    </sectionGroup> 
    </configSections> 

    <couchbase> 
    <bucket-a> 
     <servers bucket="default"> 
     <add uri="http://127.0.0.1:8091/pools" /> 
     </servers> 
    </bucket-a> 
    <bucket-b> 
     <servers bucket="beernique" bucketPassword="b33rs"> 
     <add uri="http://127.0.0.1:8091/pools" /> 
     </servers> 
    </bucket-b> 
    </couchbase> 

    <startup> 
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> 
    </startup> 
</configuration> 
Cuestiones relacionadas