Est-ce que .NET (code géré) peut lire et écrire sur CouchDB?
Je voudrais construire une partie de mon projet qui gère les documents avec CouchDB
Jetez un coup d’œil à la classe d’utilitaires SharpCouch .
C’est une classe wrapper simple pour l’API HTTP CouchDB.
C’est une réponse tardive, mais consultez Hamac . Il est bientôt actif et en production sur plusieurs projets et reçoit régulièrement des mises à jour et des correctifs. Outre la persistance des objects de base, Hammock vous donne:
Oui.
Voir ici pour des instructions sur l’installation de CouchDB sur Windows.
Voici un lien vers le lancement avec l’ article wiki C # . Il existe un lien vers un wrapper .Net dans cet article. Il serait assez facile de rouler vous-même.
Étant donné que vous communiquez généralement avec CouchDB sur REST et JSON, j’imagine qu’il ne serait pas trop difficile d’utiliser JSON.NET et les classes WebClient / HttpWebRequest normales pour le faire. Je n’ai pas essayé moi-même, remarquez …
Peu de temps après le début du jeu, il existe un projet open source pour un nouveau pilote écrit en C # sur le client HTTP asynchrone et, par défaut, JSON.Net de Newtonsoft pour la sérialisation (commutable). MyCouch – Simple client CouchDb asynchrone pour .Net.
Un post de démarrage existe ici: http://danielwertheim.se/get-up-and-running-with-couchdb-and-c-using-mycouch-on-windows/
Gardez un oeil sur Ottoman, un projet open-source écrit en C #. Il est encore en plein développement, mais je voulais le signaler comme une option pour les projets en cours de planification. Je mettrai à jour ce message au fur et à mesure de son achèvement. Vous pouvez voir la source sur github . Lisez le README pour voir des exemples et ce qui est possible avec la version actuelle.
C’est un projet assez nouveau, mais très actif. Bien sûr, je suis aussi un peu partial. 😉
jetez également un coup d’oeil au divan – un emballage léger pour l’api de cdb
J’ai utilisé JSON.NET en conjonction avec la classe de client http du kit de démarrage MS REST pour l’intégrer à CouchDB et cela fonctionne très bien.
Le wiki de CouchDB a une liste d’API pour C # (avec leurs fonctionnalités) si vous voulez le dernier statut: http://wiki.apache.org/couchdb/Getting_started_with_C%23
Très facile à utiliser .NET API pour CouchDB inclus dans WDK10 que vous pouvez récupérer depuis http://code.google.com/p/skitsanoswdk/
Les options ( commandées par la dernière mise à jour ):
Découvrez Relax http://www.sharplearningcurve.com/wiki/Symbiote-Relax.ashx . Relax est une “abstraction d’API .Net de l’excellente API RESTful de CouchDB. Elle comprend une interface basée sur un référentiel pour l’interaction de documents et un contrôleur de serveur pour les tâches de type administratif.”
Un de plus – CouchDBClient: https://github.com/ttutisani/CouchDBClient
Disclaimer: je suis l’auteur.
J’ai essayé de rendre CouchDBClient plus convivial pour travailler avec des objects personnalisés – c’est généralement ce que les applications stockent dans la firebase database.
Quand j’ai commencé à écrire ce framework, tous les autres que je trouvais et essayais faisaient une impression de signatures de méthodes non standardisées (nommées en utilisant différentes conventions et plus difficiles à deviner), pas d’interfaces unifiées d’autres autour de json docs), pas très flexibles (certains ne fonctionnaient qu’avec des chaînes, d’autres uniquement avec des objects), ou pas très abstraits (il fallait d’abord connaître l’API REST de CouchDB pour les utiliser correctement). Je suppose et espère qu’ils ont mûri depuis, mais au moins celui-ci est conçu à mon goût.
J’espère que CouchDBClient peut créer un sentiment d’abstraction confortable sans se soucier de l’API sous-jacente, et se concentrer uniquement sur votre application et sur la manière dont elle stocke et récupère les objects dont elle a besoin.