{"id":2259,"date":"2016-05-13T14:14:10","date_gmt":"2016-05-13T14:14:10","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2259"},"modified":"2025-10-09T07:09:51","modified_gmt":"2025-10-09T14:09:51","slug":"couchbase-with-windows-and-net-part-3-asp-net-mvc","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/","title":{"rendered":"Couchbase con Windows y .NET - Parte 3 - ASP.NET MVC"},"content":{"rendered":"<p><em>Este art\u00edculo es la tercera parte de una serie<\/em>:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-with-windows-and-.net---part-1\/\">En la Parte 1 se explica c\u00f3mo instalar y configurar Couchbase en Windows.<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-with-windows-and-.net---part-2\/\">En la Parte 2 se trat\u00f3 algo de la jerga de Couchbase que necesitar\u00e1s conocer<\/a><\/li>\n<\/ul>\n<p>\u00bfEst\u00e1s listo para escribir algo de c\u00f3digo? En esta entrada de blog, vamos a empezar un nuevo proyecto ASP.NET MVC, a\u00f1adirle el SDK de Couchbase con NuGet, y conseguir la infraestructura necesaria para empezar a usar Couchbase.<\/p>\n<p>Acabo de empezar en Visual Studio con un Archivo-&gt;Nuevo, y seleccion\u00e9 ASP.NET Web Application, luego seleccion\u00e9 \"MVC\". Voy a asumir que usted tiene cierta familiaridad con ASP.NET MVC, pero si algo parece fuera de lo com\u00fan para usted, por favor deje un comentario, <a href=\"https:\/\/twitter.com\/mgroves\">ping me on Twitter<\/a>o env\u00edeme un correo electr\u00f3nico (matthew.groves AT couchbase DOT com) con sus preguntas.<\/p>\n<h2>Instalaci\u00f3n de la biblioteca cliente de Couchbase<\/h2>\n<p>Lo primero que tenemos que hacer es a\u00f1adir el cliente .NET de Couchbase. Puedes hacerlo con la interfaz de NuGet haciendo clic con el bot\u00f3n derecho en \"Referencias\", haciendo clic en \"Administrar paquetes NuGet\", haciendo clic en \"Examinar\" y buscando \"CouchbaseNetClient\". (Si lo deseas, puedes buscar \"Linq2Couchbase\" en su lugar. Instalando esto tambi\u00e9n se instalar\u00e1 CouchbaseNetClient, pero no usar\u00e9 Linq2Couchbase hasta posteriores entradas en el blog).<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/nugetui_001.png\" alt=\"NuGet UI for installing CouchbaseNetClient\" \/><\/p>\n<p>Si prefiere la l\u00ednea de comandos de NuGet, abra la consola del gestor de paquetes y escriba <code>Install-Package CouchbaseNetClient<\/code>.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/nugetpackagemanagerconsole_002.png\" alt=\"NuGet Package Manager Console for installing CouchbaseNetClient\" \/><\/p>\n<h2>C\u00f3mo hacer que la aplicaci\u00f3n ASP.NET se comunique con un cl\u00faster Couchbase<\/h2>\n<p>Ahora vamos a configurar la aplicaci\u00f3n ASP.NET para que pueda conectarse a Couchbase. Lo primero que tenemos que hacer es localizar el Cluster de Couchbase. El mejor lugar para hacer esto es en el Global.asax.cs cuando se inicia la aplicaci\u00f3n. Como m\u00ednimo, necesitamos especificar un nodo en el cluster, y d\u00e1rselo al comando <code>ClusterHelper<\/code>. Esto s\u00f3lo tiene que hacerse una vez en <code>Inicio_de_la_aplicaci\u00f3n<\/code>. Cuando finalice la aplicaci\u00f3n, es conveniente cerrar el archivo <code>ClusterHelper<\/code> para limpiar y desechar los recursos que no se necesitan.<\/p>\n<pre><code>public class MvcApplication : System.Web.HttpApplication\r\n{\r\n    protected void Application_Start()\r\n    {\r\n        AreaRegistration.RegisterAllAreas();\r\n        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);\r\n        RouteConfig.RegisterRoutes(RouteTable.Routes);\r\n\r\n        var config = new ClientConfiguration();\r\n        config.Servers = new List\r\n        {\r\n            new Uri(\"https:\/\/localhost:8091\")\r\n        };\r\n        config.UseSsl = false;\r\n        ClusterHelper.Initialize(config);\r\n    }\r\n\r\n    protected void Application_End()\r\n    {\r\n        ClusterHelper.Close();\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Algunas notas:<\/p>\n<ul>\n<li>Este c\u00f3digo asume que est\u00e1s ejecutando un nodo Couchbase en tu m\u00e1quina local (localhost). Si no es as\u00ed, sustit\u00fayelo por localhost. Por ejemplo, yo tengo un nodo Couchbase corriendo en una m\u00e1quina diferente en mi oficina, as\u00ed que sustituir\u00eda <code>nuevo Uri(\"https:\/\/192.168.1.5\")<\/code>.<\/li>\n<li>Tengo UseSsl establecido en false, porque no tengo un certificado funcionando en mi nodo Couchbase. Si est\u00e1s accediendo a Couchbase a trav\u00e9s de internet, puedes usar SSL para prevenir que tu tr\u00e1fico de datos sea enviado en claro.<\/li>\n<\/ul>\n<h2>Configuraci\u00f3n de un contenedor IoC<\/h2>\n<p>Una vez inicializado el ClusterHelper, podemos utilizarlo para acceder a los buckets.<\/p>\n<p>Hay muchas maneras de proceder para cablear las dependencias en tu aplicaci\u00f3n, pero a m\u00ed me gusta usar un contenedor IoC. Hay muchas herramientas IoC disponibles para .NET, pero mi favorita es <a href=\"https:\/\/structuremap.github.io\/\">StructureMap<\/a>. Hay otro paquete NuGet que integra StructureMap con MVC para usted. Tras instalarlo, los objetos del controlador MVC se instanciar\u00e1n a trav\u00e9s de StructureMap. Instalar, con NuGet (UI o consola), <code>StructureMap.MVC5<\/code>.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/nugetpackagemanagerconsole2_002b.png\" alt=\"Installing StructureMap.MVC5 with NuGet\" \/><\/p>\n<p>A\u00f1adir\u00e1 StructureMap a su proyecto, as\u00ed como otros archivos. Uno de ellos es DefaultRegistry.cs, que configura StructureMap para que utilice las convenciones predeterminadas.<\/p>\n<p>Lo que tendremos que hacer con Couchbase, es modificar ese registro para que StructureMap pueda darnos una instancia de IBucket. Un IBucket, entonces, se utiliza para interactuar con un bucket de Couchbase (obtener documentos, a\u00f1adir documentos, actualizar documentos, etc.). He aqu\u00ed c\u00f3mo configurar un registro IBucket:<\/p>\n<pre><code> public class DefaultRegistry : Registry {\r\n    #region Constructors and Destructors\r\n\r\n    public DefaultRegistry() {\r\n        Scan(\r\n            scan =&gt; {\r\n                scan.TheCallingAssembly();\r\n                scan.WithDefaultConventions();\r\n                scan.With(new ControllerConvention());\r\n            });\r\n        \/\/ this next 'For' is what I've added for Couchbase\r\n        For().Singleton().Use(\"Get a Couchbase Bucket\",\r\n            x =&gt; ClusterHelper.GetBucket(\"hello-couchbase\", \"password!\"));\r\n    }\r\n\r\n    #endregion\r\n}\r\n<\/code><\/pre>\n<p>En este ejemplo:<\/p>\n<ul>\n<li>Estoy usando el ClusterHelper para obtener un bucket espec\u00edfico (que he llamado 'hello-couchbase', pero puedes llamarlo como quieras). Aseg\u00farate de que este bucket existe en Couchbase (puedes usar 'default' o uno de los buckets de ejemplo si configuraste uno en <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-with-windows-and-.net---part-1\/\">parte 1 de esta serie de blogs<\/a>).<\/li>\n<li>Poner una contrase\u00f1a en un cubo no es obligatorio, pero es una buena idea.<\/li>\n<li>La instancia IBucket es un singleton, porque no hay raz\u00f3n para tener m\u00faltiples instancias de ella.<\/li>\n<\/ul>\n<h2>Uso del IBucket en un controlador<\/h2>\n<p>S\u00f3lo para mostrar que esto funciona, sigue adelante y a\u00f1ade IBucket a un constructor de un controlador, digamos HomeController. StructureMap ya ha sido configurado para instanciar controladores, y ya le hemos dicho c\u00f3mo instanciar un IBucket. (A la larga, probablemente no querr\u00e1s usar IBucket directamente en el controlador; m\u00e1s sobre esto en futuras entradas del blog).<\/p>\n<pre><code>public class HomeController : Controller\r\n{\r\n    private readonly IBucket _bucket;\r\n\r\n    public HomeController(IBucket bucket)\r\n    {\r\n        _bucket = bucket;\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>A continuaci\u00f3n, a\u00f1ade un documento a tu bucket, directamente en la consola de Couchbase. Toma nota de la clave que le das.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/couchbasecreatedocument_003.png\" alt=\"Specifying a key for a new document in Couchbase\" \/><\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/couchbasecreatedocument_004.png\" alt=\"Creating a document in Couchbase\" \/><\/p>\n<p>Ahora, a\u00f1ade una acci\u00f3n a HomeController. Esta es una acci\u00f3n desechable s\u00f3lo para fines de demostraci\u00f3n. Es lo m\u00e1s simple que se puede hacer: obtendr\u00e1 el documento basado en la clave, y escribir\u00e1 los valores del documento en la respuesta.<\/p>\n<pre><code>    public ActionResult Index()\r\n    {\r\n        var doc = _bucket.Get(\"foo::123\");\r\n        return Content(\"Name: \" + doc.Value.name + \", Address: \" + doc.Value.address);\r\n    }\r\n<\/code><\/pre>\n<p><code>doc.Valor<\/code> es del tipo <code>din\u00e1mico<\/code>As\u00ed que aseg\u00farate de que los campos que utilizas (en mi caso, nombre y direcci\u00f3n) coinciden con el documento JSON que introduces en el bucket. Ejecute su sitio MVC en un navegador, y usted debe ver algo como esto:<\/p>\n<p><img decoding=\"async\" src=\"\/wp-content\/original-assets\/2016\/may\/couchbase-with-windows-and-.net---part-3---asp.net-mvc\/couchbaseaspnethelloworld_005b.png\" alt=\"Outputting the document values to a browser\" \/><\/p>\n<p>Enhorabuena, has escrito con \u00e9xito un sitio ASP.NET que utiliza Couchbase. No ha sido tan dif\u00edcil, \u00bfverdad?<\/p>\n<h2>Conclusi\u00f3n<\/h2>\n<p>Te he mostrado lo m\u00e1s b\u00e1sico para conectarte y usar Couchbase en ASP.NET MVC. Pero podemos hacerlo mucho mejor. En la pr\u00f3xima entrada del blog, voy a mostrarte c\u00f3mo usar Linq2Couchbase para construir una entidad, un repositorio, y c\u00f3mo usar este repositorio para hacer un sitio web con funcionalidad real. Como siempre, si necesitas ayuda con cualquier cosa, por favor deja un comentario, <a href=\"https:\/\/twitter.com\/mgroves\">ping me on Twitter<\/a>o env\u00edeme un correo electr\u00f3nico (matthew.groves AT couchbase DOT com).<\/p>","protected":false},"excerpt":{"rendered":"<p>This blog post is part 3 of a series: Part 1 covered how to install and setup Couchbase on Windows Part 2 covered some Couchbase lingo that you&#8217;ll need to know Are you ready to write some code? In this [&hellip;]<\/p>","protected":false},"author":71,"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,10126,1816],"tags":[],"ppma_author":[8937],"class_list":["post-2259","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dotnet","category-asp-dotnet","category-couchbase-server"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Couchbase with Windows &amp; .NET \u2013 Part 3 - 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-with-windows-and-net-part-3-asp-net-mvc\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Couchbase with Windows and .NET - Part 3 - ASP.NET MVC\" \/>\n<meta property=\"og:description\" content=\"This blog post is part 3 of a series: Part 1 covered how to install and setup Couchbase on Windows Part 2 covered some Couchbase lingo that you&#8217;ll need to know Are you ready to write some code? In this [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-13T14:14:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T14:09:51+00:00\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 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-with-windows-and-net-part-3-asp-net-mvc\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Couchbase with Windows and .NET &#8211; Part 3 &#8211; ASP.NET MVC\",\"datePublished\":\"2016-05-13T14:14:10+00:00\",\"dateModified\":\"2025-10-09T14:09:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\"},\"wordCount\":941,\"commentCount\":2,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"articleSection\":[\".NET\",\"ASP.NET\",\"Couchbase Server\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\",\"name\":\"Couchbase with Windows & .NET \u2013 Part 3 - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-05-13T14:14:10+00:00\",\"dateModified\":\"2025-10-09T14:09:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#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-with-windows-and-net-part-3-asp-net-mvc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Couchbase with Windows and .NET &#8211; Part 3 &#8211; ASP.NET MVC\"}]},{\"@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\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Couchbase with Windows & .NET \u2013 Part 3 - 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-with-windows-and-net-part-3-asp-net-mvc\/","og_locale":"es_MX","og_type":"article","og_title":"Couchbase with Windows and .NET - Part 3 - ASP.NET MVC","og_description":"This blog post is part 3 of a series: Part 1 covered how to install and setup Couchbase on Windows Part 2 covered some Couchbase lingo that you&#8217;ll need to know Are you ready to write some code? In this [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/es\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-05-13T14:14:10+00:00","article_modified_time":"2025-10-09T14:09:51+00:00","author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"6 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Couchbase with Windows and .NET &#8211; Part 3 &#8211; ASP.NET MVC","datePublished":"2016-05-13T14:14:10+00:00","dateModified":"2025-10-09T14:09:51+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/"},"wordCount":941,"commentCount":2,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","articleSection":[".NET","ASP.NET","Couchbase Server"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/","url":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/","name":"Couchbase with Windows & .NET \u2013 Part 3 - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-05-13T14:14:10+00:00","dateModified":"2025-10-09T14:09:51+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/couchbase-with-windows-and-net-part-3-asp-net-mvc\/#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-with-windows-and-net-part-3-asp-net-mvc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Couchbase with Windows and .NET &#8211; Part 3 &#8211; ASP.NET MVC"}]},{"@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\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"A Matthew D. Groves le encanta programar.  No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa.  Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa.  Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores.  Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2259","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\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=2259"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/2259\/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=2259"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=2259"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=2259"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=2259"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}