Может ли .NET(управляемый код) читать и писать в CouchDB?
Я хотел бы создать часть моего проекта, которая управляет документами с помощью CouchDB
Может ли .NET(управляемый код) читать и писать в CouchDB?
Я хотел бы создать часть моего проекта, которая управляет документами с помощью CouchDB
Взгляните на класс SharpCouch.
Это простой класс-оболочка для CouchDB HTTP API.
Это поздний ответ, но проверьте Гамак. Он активен и скоро будет запущен в производство в нескольких проектах и регулярно получает обновления и исправления. Помимо базового сохранения объектов, гамак дает вам:
Repository<>
который помогает объединить ваши запросы/представления (т.е. _Design doc) и код вашего приложения на С#. Хранилища отвечают за ведение _design документов, и это помогает не допустить ощущения представлений CouchDB как хранимых процедур.Да.
См. здесь для получения инструкций по установке CouchDB на окна.
Вот ссылка на начало работы с вики-статьей С#. В этой статье есть ссылка на .Net-обертку. Было бы очень легко катиться самостоятельно.
Учитывая, что вы обычно общаетесь с CouchDB над REST и JSON, я бы предположил, что не будет слишком сложно использовать JSON.NET и обычные классы WebClient/HttpWebRequest. Я сам не пробовал, заметьте...
Немного поздно в игре, но есть проект с открытым исходным кодом для нового драйвера, написанного на С#, поверх асинхронного HTTP-клиента и по умолчанию Newtonsoft JSON.Net для сериализации (с возможностью переключения). MyCouch - простой клиент async CouchDb для .Net
Здесь появляется сообщение о начале работы: http://danielwertheim.se/get-up-and-running-with-couchdb-and-c-using-mycouch-on-windows/
Следите за Ottoman проект с открытым исходным кодом, написанный на С#. Он все еще находится в тяжелом развитии, но я хотел указать на него как вариант для проектов на этапах планирования. Я буду обновлять этот пост, поскольку он приближается к завершению. Вы можете просмотреть источник на github. Прочтите README, чтобы увидеть примеры и что возможно с текущей версией.
Это довольно новый проект, но очень активный. Конечно, я тоже немного предвзятый.; -)
также взгляните на диван - легкая обертка для CDB API
Я использовал JSON.NET в сочетании с стартовый комплект MS REST для клиентского класса для интеграции с CouchDB и он работает очень хорошо.
CouchDB wiki имеет список API для С# (с их функциями), если вы хотите получить последний статус: http://wiki.apache.org/couchdb/Getting_started_with_C%23
Очень простой в использовании .NET API для CouchDB, входящий в WDK10, который вы можете захватить из http://code.google.com/p/skitsanoswdk/, он очень гибкий и позволяет вам обрабатывать ваши данные об объектах и чистом уровне json.
Параметры (упорядоченные по последнему обновлению):
Отъезд Relax http://www.sharplearningcurve.com/wiki/Symbiote-Relax.ashx. Relax - это аббревиатура API-интерфейса CatchDB (отлично) RESTful API.Net API. Он включает в себя интерфейс для взаимодействия с документами на основе репозитория и серверный контроллер для задач административного типа.
Еще один - CouchDBClient: https://github.com/ttutisani/CouchDBClient
Отказ от ответственности: я автор.
Я попытался сделать CouchDBClient более удобным для работы с пользовательскими объектами - то, что обычно хранят приложения в базе данных.
Когда я начинал писать эту платформу, все остальные, которые я нашел и попробовал, производили впечатление нестандартных сигнатур методов (названных с использованием различных соглашений и сложнее угадать, что они сделали), не унифицированных интерфейсов (некоторые операции со строковыми документами, в то время как другие, связанные с документами json), не очень гибкие (некоторые работали только со строками, другие - только с объектами) или не очень абстрактные (чтобы правильно использовать их, сначала нужно было знать API REST CouchDB). Я предполагаю и надеюсь, что они созрели с тех пор, но по крайней мере этот разработан на мой вкус.
Я надеюсь, что CouchDBClient может создать ощущение удобной абстракции, не беспокоясь о лежащем в основе API, а просто сосредоточившись на вашем приложении и на том, как оно хранит и извлекает нужные ему объекты.