{"id":6024,"date":"2014-06-03T08:00:54","date_gmt":"2014-06-03T15:00:54","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=6024"},"modified":"2018-11-21T12:11:09","modified_gmt":"2018-11-21T20:11:09","slug":"couchbase-net-2-0-sdk-developer-preview-2","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-net-2-0-sdk-developer-preview-2\/","title":{"rendered":"Couchbase .NET 2.0 SDK Developer Preview 2"},"content":{"rendered":"<address><strong>Nota: Binarios de ejemplo y DP2 actualizados el 13\/06\/2014.<\/strong><\/address>\n<h2>Introducci\u00f3n<\/h2>\n<p>El mes pasado lanzamos la Developer Preview 1 de Couchbase .NET SDK 2.0, que mostraba soporte para operaciones generales clave\/valor, una nueva API de View Query, y probablemente lo m\u00e1s interesante, un primer vistazo a nuestro nuevo lenguaje de consultas, N1QL (pronunciado \"nickel\"). Puedes leer m\u00e1s sobre esa versi\u00f3n aqu\u00ed. Este mes, estamos lanzando la Developer Preview 2 (en adelante DP2) del SDK 2.0 de Couchbase .NET, \u00a1lleno de nuevas caracter\u00edsticas para apoyar nuestro pr\u00f3ximo lanzamiento de Couchbase Server 3.0 a finales de este a\u00f1o!<\/p>\n<h2>Soporte SSL<\/h2>\n<p>Actualmente, la comunicaci\u00f3n entre Couchbase Server y el SDK cliente se realiza a trav\u00e9s de canales no seguros. Con Couchbase Server 3.0,\u00a0<a href=\"https:\/\/web.archive.org\/web\/20140802143906\/https:\/\/en.wikipedia.org\/wiki\/Secure_Sockets_Layer\">Capas de sockets seguros (SSL)<\/a>\u00a0permitir\u00e1 opcionalmente esta comunicaci\u00f3n a trav\u00e9s de un canal seguro y cifrado.<\/p>\n<p>Activar SSL requiere un par de cosas:<\/p>\n<ul>\n<li>Couchbase Server 3.0 (Beta disponible este verano)<\/li>\n<li>Un certificado SSL (adquirido de Couchbase Server 3.0)<\/li>\n<li>Cambios de configuraci\u00f3n en el cliente: establecer useSsl = true en una configuraci\u00f3n de bucket o cluster<\/li>\n<li>Almacenamiento del certificado en el almac\u00e9n de entidades de certificaci\u00f3n ra\u00edz de confianza (en Windows)<\/li>\n<\/ul>\n<p>En este punto, todo lo que necesitas hacer es habilitar el soporte SSL en el cliente. Para ello, puede activarlo a nivel de cl\u00faster o por bucket. Si habilita SSL a nivel de cl\u00faster, todos los buckets del cl\u00faster utilizar\u00e1n SSL. Si s\u00f3lo desea utilizar SSL en Buckets espec\u00edficos, simplemente configure su Bucket individual para utilizar SSL.<\/p>\n<p>var configuration = nueva ClientConfiguration<br \/>\n{<br \/>\nUseSsl = true<br \/>\n};<br \/>\nCouchbaseCluster.Initialize(configuraci\u00f3n);<br \/>\nvar cluster = CouchbaseCluster.Get();<\/p>\n<p>Tenga en cuenta que si establece UseSSL en true a nivel de cluster, anular\u00e1 cualquier configuraci\u00f3n establecida a nivel de Bucket.<\/p>\n<p>Espere un futuro post sobre la configuraci\u00f3n de SSL en detalle en el futuro.<\/p>\n<h2>Autenticaci\u00f3n CRAM-MD5<\/h2>\n<p>Couchbase Server utiliza\u00a0<a href=\"https:\/\/web.archive.org\/web\/20140802143906\/https:\/\/en.wikipedia.org\/wiki\/Simple_Authentication_and_Security_Layer\">Capa de autenticaci\u00f3n y seguridad simple (SASL)<\/a>\u00a0para autenticar la interacci\u00f3n del usuario a nivel de Servidor y de Bucket. SASL proporciona varios mecanismos para manejar la autenticaci\u00f3n. En su forma m\u00e1s simple, utiliza un mecanismo de texto plano que env\u00eda el nombre de usuario y la contrase\u00f1a entre los clientes en su forma de texto plano.<\/p>\n<p>Enviar nombre de usuario y contrase\u00f1a a trav\u00e9s de la red en texto plano es intr\u00ednsecamente inseguro y potencialmente te abre a todo tipo de ataques de filtrado y sniffing usando herramientas disponibles p\u00fablicamente como Wire Shark. Sin embargo, con el lanzamiento de Couchbase 2.2 el a\u00f1o pasado, la autenticaci\u00f3n CRAM-MD5 SASL en el servidor est\u00e1 soportada, y ahora con DP2 tambi\u00e9n est\u00e1 disponible desde el SDK .NET.<\/p>\n<p>Qu\u00e9\u00a0<a href=\"https:\/\/web.archive.org\/web\/20140802143906\/https:\/\/en.wikipedia.org\/wiki\/CRAM-MD5\">CRAM-MD5<\/a>\u00a0SASL utiliza un mecanismo de autenticaci\u00f3n desaf\u00edo-respuesta para garantizar que la contrase\u00f1a se convierte en hash entre el cliente y el servidor. El cliente inicia la comunicaci\u00f3n y el servidor responde con un desaf\u00edo. A continuaci\u00f3n, el cliente utiliza el desaf\u00edo para crear\u00a0<a href=\"https:\/\/web.archive.org\/web\/20140802143906\/https:\/\/en.wikipedia.org\/wiki\/HMAC-MD5\">HMAC-MD5<\/a>\u00a0de la contrase\u00f1a y alguna informaci\u00f3n adicional y lo env\u00eda de vuelta al servidor. El servidor utiliza el mismo desaf\u00edo para comparar la respuesta esperada. Si coinciden, la autenticaci\u00f3n contin\u00faa y, si tiene \u00e9xito, se concede al cliente acceso al recurso.<\/p>\n<p>Tenga en cuenta que para habilitar CRAM-MD5 en el cliente no tiene que hacer nada. Cuando el cliente inicia la comunicaci\u00f3n solicita una lista de mecanismos SASL soportados, si el servidor al que intenta conectarse soporta CRAM-MD5, entonces el cliente utilizar\u00e1 ese mecanismo.<\/p>\n<h2>Compatibilidad con Web.Config y App.Config<\/h2>\n<p>En DP1, mostramos c\u00f3mo configurar mediante programaci\u00f3n su cluster y Buckets. En DP2, a\u00f1adimos soporte para la configuraci\u00f3n Web.config y App.config. Aqu\u00ed hay un ejemplo de App.config:<\/p>\n<div class=\"geshifilter\">\n<div class=\"text geshifilter-text\">&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;utf-8&#8243; ?&gt;<br \/>\n&lt;configuration&gt;<br \/>\n&lt;configSections&gt;<br \/>\n&lt;sectionGroup name=&#8221;couchbaseClients&#8221;&gt;<br \/>\n<section \/><br \/>\n&lt;\/sectionGroup&gt;<br \/>\n&lt;\/configSections&gt;<br \/>\n&lt;couchbaseClients&gt;<br \/>\n&lt;couchbase&gt;<br \/>\n&lt;servers&gt;<br \/>\n&lt;add uri=&#8221;https:\/\/localhost:8091&#8243;&gt;&lt;\/add&gt;<br \/>\n&lt;\/servers&gt;<br \/>\n&lt;buckets&gt;<br \/>\n&lt;add name=&#8221;default&#8221; password=&#8221;&#8221; useSsl=&#8221;false&#8221;&gt;<br \/>\n&lt;connectionPool name=&#8221;custom&#8221; maxSize=&#8221;10&#8243; minSize=&#8221;5&#8243; waitTimeout=&#8221;5000&#8243; shutdownTimeout=&#8221;3000&#8243;&gt;&lt;\/connectionPool&gt;<br \/>\n&lt;\/add&gt;<br \/>\n&lt;\/buckets&gt;<br \/>\n&lt;\/couchbase&gt;<br \/>\n&lt;\/couchbaseClients&gt;<br \/>\n&lt;startup&gt;<br \/>\n&lt;supportedRuntime version=&#8221;v4.0&#8243; sku=&#8221;.NETFramework,Version=v4.5&#8243; \/&gt;<br \/>\n&lt;\/startup&gt;<br \/>\n&lt;\/configuration&gt;<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>Empieza creando un sectionGroup bajo configSections para la CouchbaseClientSection que definir\u00e1s m\u00e1s adelante en el fichero de configuraci\u00f3n. Dentro del sectionGroup creas una nueva secci\u00f3n y le das un nombre, en este caso estamos usando una secci\u00f3n llamada \"couchbase\". Dentro de la secci\u00f3n \"couchbase\" puedes especificar un conjunto de servidores a utilizar para el bootstrapping y los Buckets con los que deseas trabajar. Un Bucket especifica el elemento connectionPool que proporciona un medio para configurar el pool de conexiones TCP interno para una instancia de Bucket.<\/p>\n<h2>Apoyo adicional al operador<\/h2>\n<p>Las operaciones Insert y Get se lanzaron en DP1, en DP2 las operaciones soportadas se ampliaron para incluir las siguientes:<\/p>\n<ul>\n<li>Upsert: actualiza una clave si existe, en caso contrario la a\u00f1ade.<\/li>\n<li>Reemplazar: actualiza una clave si existe, fallando si no existe.<\/li>\n<li>Eliminar: elimina una clave de la base de datos<\/li>\n<\/ul>\n<p>Adem\u00e1s, en esta versi\u00f3n se incluyen una serie de operaciones internas para soportar SASL CRAM-MD5. La versi\u00f3n Beta 1, que se publicar\u00e1 el mes que viene, incluir\u00e1 un conjunto completo de operaciones, como Check and Swap (CAS) y compatibilidad con restricciones de durabilidad.<\/p>\n<h2>Obtener los bits<\/h2>\n<p>Puede descargar DP2 desde\u00a0<u><strong><a href=\"https:\/\/web.archive.org\/web\/20140802143906\/https:\/\/tinyurl.com\/obb9ojg\" target=\"_blank\" rel=\"noopener\">aqu\u00ed<\/a>\u00a0<\/strong><\/u>y tenemos un ejemplo muy sencillo\u00a0<strong><u><a href=\"https:\/\/web.archive.org\/web\/20140802143906\/https:\/\/tinyurl.com\/mr222l6\" target=\"_blank\" rel=\"noopener\">aqu\u00ed<\/a><\/u><\/strong>. Como ocurre con cualquier versi\u00f3n preliminar de software, es probable que haya errores y que las cosas cambien en versiones posteriores, as\u00ed que no utilice DP2 en producci\u00f3n. Si encuentra alg\u00fan error, desea hacernos llegar sus comentarios (esperamos que as\u00ed sea) o quiere sugerir alguna funci\u00f3n, no dude en enviar un comentario o crear un NCBC.\u00a0<a href=\"https:\/\/web.archive.org\/web\/20140802143906\/https:\/\/www.couchbase.com\/issues\/browse\/NCBC\" target=\"_parent\">aqu\u00ed<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Note: Example and DP2 binaries updated on 6\/13\/2014 Introduction Last month we released Developer Preview 1 of the Couchbase .NET SDK 2.0, which showcased support for general key\/value operations, a new View Query API, and probably most interesting, an early [&hellip;]<\/p>","protected":false},"author":21,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1811],"tags":[],"ppma_author":[8970],"class_list":["post-6024","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.7.1 (Yoast SEO v25.7) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase .NET 2.0 SDK Developer Preview 2 - The Couchbase Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-net-2-0-sdk-developer-preview-2\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase .NET 2.0 SDK Developer Preview 2\" \/>\n<meta property=\"og:description\" content=\"Note: Example and DP2 binaries updated on 6\/13\/2014 Introduction Last month we released Developer Preview 1 of the Couchbase .NET SDK 2.0, which showcased support for general key\/value operations, a new View Query API, and probably most interesting, an early [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-net-2-0-sdk-developer-preview-2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2014-06-03T15:00:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-21T20:11:09+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1800\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@jeffrysmorris\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeff Morris, Senior Software Engineer, Couchbase\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/\"},\"author\":{\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341\"},\"headline\":\"Couchbase .NET 2.0 SDK Developer Preview 2\",\"datePublished\":\"2014-06-03T15:00:54+00:00\",\"dateModified\":\"2018-11-21T20:11:09+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/\"},\"wordCount\":942,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\".NET\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/\",\"name\":\"Couchbase .NET 2.0 SDK Developer Preview 2 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2014-06-03T15:00:54+00:00\",\"dateModified\":\"2018-11-21T20:11:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase .NET 2.0 SDK Developer Preview 2\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341\",\"name\":\"Jeff Morris, Senior Software Engineer, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g\",\"caption\":\"Jeff Morris, Senior Software Engineer, Couchbase\"},\"description\":\"Jeff Morris is a Senior Software Engineer at Couchbase. Prior to joining Couchbase, Jeff spent six years at Source Interlink as an Enterprise Web Architect. Jeff is responsible for the development of Couchbase SDKs and how to integrate with N1QL (query language).\",\"sameAs\":[\"https:\/\/x.com\/jeffrysmorris\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/jeff-morris\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase .NET 2.0 SDK Developer Preview 2 - The Couchbase Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-net-2-0-sdk-developer-preview-2\/","og_locale":"es_MX","og_type":"article","og_title":"Couchbase .NET 2.0 SDK Developer Preview 2","og_description":"Note: Example and DP2 binaries updated on 6\/13\/2014 Introduction Last month we released Developer Preview 1 of the Couchbase .NET SDK 2.0, which showcased support for general key\/value operations, a new View Query API, and probably most interesting, an early [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-net-2-0-sdk-developer-preview-2\/","og_site_name":"The Couchbase Blog","article_published_time":"2014-06-03T15:00:54+00:00","article_modified_time":"2018-11-21T20:11:09+00:00","og_image":[{"width":1800,"height":630,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2022\/11\/couchbase-nosql-dbaas.png","type":"image\/png"}],"author":"Jeff Morris, Senior Software Engineer, Couchbase","twitter_card":"summary_large_image","twitter_creator":"@jeffrysmorris","twitter_misc":{"Written by":"Jeff Morris, Senior Software Engineer, Couchbase","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/"},"author":{"name":"Jeff Morris, Senior Software Engineer, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341"},"headline":"Couchbase .NET 2.0 SDK Developer Preview 2","datePublished":"2014-06-03T15:00:54+00:00","dateModified":"2018-11-21T20:11:09+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/"},"wordCount":942,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":[".NET"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/","name":"Couchbase .NET 2.0 SDK Developer Preview 2 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2014-06-03T15:00:54+00:00","dateModified":"2018-11-21T20:11:09+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-net-2-0-sdk-developer-preview-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase .NET 2.0 SDK Developer Preview 2"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/b678bdd9f7b21a33d43ea965865a3341","name":"Jeff Morris, Ingeniero Superior de Software, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/73188ee2831025d81740e12e1ed80812","url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","caption":"Jeff Morris, Senior Software Engineer, Couchbase"},"description":"Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pas\u00f3 seis a\u00f1os en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de c\u00f3mo integrarse con N1QL (lenguaje de consulta).","sameAs":["https:\/\/x.com\/jeffrysmorris"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/jeff-morris\/"}]}},"authors":[{"term_id":8970,"user_id":21,"is_guest":0,"slug":"jeff-morris","display_name":"Jeff Morris, Senior Software Engineer, Couchbase","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/5f910befdbd58de8bac85293df7f544680843061ecc921ba7d293d6d52076ab3?s=96&d=mm&r=g","first_name":"Jeff","last_name":"Jeff Morris, Senior Software Engineer, Couchbase","user_url":"","author_category":"","description":"Jeff Morris es Ingeniero de Software Senior en Couchbase. Antes de unirse a Couchbase, Jeff pas\u00f3 seis a\u00f1os en Source Interlink como Arquitecto Web Empresarial. Jeff es responsable del desarrollo de los SDK de Couchbase y de c\u00f3mo integrarse con N1QL (lenguaje de consulta)."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/6024","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=6024"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/6024\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=6024"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=6024"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=6024"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=6024"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}