как разрешить плагину хранить данные - PullRequest
0 голосов
/ 19 января 2011

Я планирую предложить приложение, которое позволит разработчикам предоставлять плагины для него.

В моем сценарии плагины получают доступ к данным и методам приложения через слой веб-сервисов, и, как следствие, разработчик может ожидать сохранения своих данных плагина с помощью этого слоя. Мы не хотим разрешать модификацию базы данных для каждого плагина, который бы в ней нуждался, или даже предоставлять прямой доступ к базе данных.

Вопрос в том, знаете ли вы, или можете себе представить, систему, которая бы удовлетворяла потребности хранения любых данных в нашей базе данных в этом контексте?

Приложение является приложением ASP.NET, база данных - SQL Server.

Ответы [ 3 ]

2 голосов
/ 19 января 2011

В зависимости от объема данных, как насчет хранения XML и передачи его туда и обратно. Каждый плагин имеет строку в базе данных и поле для XML, что позволяет каждому плагину контролировать данные, которые они должны хранить.

Вы также сможете настроить веб-службу, которая позволяет возвращать фрагменты данных на основе веб-службы, которая получает запросы xpath и возвращает результирующие данные. Если у вас есть SQL Server 2005 или 2008, вы даже сможете отправить эти запросы непосредственно на сервер SQL. http://msdn.microsoft.com/en-us/library/ms345117(v=sql.90).aspx

Если вы хотите что-то более легкое, возможно, массив json?

В противном случае, возможно, набор пар ключ-значение для каждого плагина, по сути, позволяет им загружать и сохранять словарь

1 голос
/ 19 января 2011

Являются ли данные общими для всех плагинов? если так, зачем плагину нужно изменить схему? если нет, то почему бы не иметь каждый плагин для размещения своей собственной базы данных а-ля SQLite? тогда они будут независимы друг от друга, и вам даже не нужно будет предоставлять услуги для хранилища, так как плагины будут управлять собой.

1 голос
/ 19 января 2011

если вы используете базу данных nosql, то проблема исчезнет, ​​так как нет никакой схемы базы данных, которую нужно изменить, все, что вам нужно будет сделать, это убедиться, что плагины не портят данные друг друга, некоторые базы данных nosql посмотреть можно здесь: Какие решения NoSQL существуют для .NET?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...