Итак, вот концепция. Я пытаюсь написать C # для CouchDB (продолжайте читать, это не имеет ничего общего с CouchDB).
Вот основная идея:
1) Драйвер БД загружает произвольную строку на сервер БД.
2) Драйвер БД говорит серверу БД запустить код и создать представление
3) Сервер БД загружает мой бэкэнд C #, передает ему строку ввода
4) Сервер БД передает эту функцию бэкенду C #
5) Сервер БД передает данные бэкэнда C # для выполнения функции над
6) Сервер C # выполняет код и передает данные на сервер БД.
7) Сервер БД сохраняет или сортирует иным образом и отправляет результаты обратно в Драйвер БД
Итак, у меня проблема с удаленным выполнением кода. Все мои модели являются объектами C #. Так что было бы очень приятно иметь возможность писать код на внешнем интерфейсе и передавать код на сервер для выполнения. Без необходимости копировать библиотеки DLL и т. Д. В настоящее время в CouchDB этот язык запросов является JavaScript, поэтому просто скопировать код в строку очень просто.
Есть ли такие варианты в C #? Могу ли я получить строковую версию функции? Должен ли я создать внешний сервер, который размещает эти сборки DLL и обслуживает их до бэкэндов CouchDB? Должен ли я скомпилировать их во внешнем интерфейсе и встроить файлы .cs в качестве ресурса? Я просто мозговой штурм в этой точке. Любые мысли / идеи / вопросы приветствуются.