Я работаю над клиентом Silverlight и соответствующими веб-службами ASP.NET (не WCF), и мне нужно реализовать некоторые функции, содержащие пользовательские настройки, такие как система «избранных элементов», и хотят ли они переноса слов или не. Чтобы сделать пользовательский опыт приятным (а не приводящим в бешенство), я хочу сохранить эти настройки во время сеансов. Краткое исследование показывает, что есть две основные возможности.
- Silverlight изолированное хранилище
- ASP.NET-доступная база данных
Я понимаю, что вариант 2, вероятно, является наилучшим вариантом, поскольку он гарантирует, что даже если пользователь отключит изолированное хранилище для Silverlight, его предпочтения сохранятся, но я бы хотел избежать бремени поддержки базы данных в настоящее время, и я Например, идея о том, что настройки доступны для загрузки и редактирования, даже когда подключение к серверу недоступно. Тем не менее, я открыт для аргументированных аргументов, почему может быть предпочтительнее принять этот удар сейчас, а не позже.
Что я ищу, так это предложения о том, как наилучшим образом реализовать сохранение настроек в любом из этих сценариев. Например, если используется изолированное хранилище, должен ли я использовать формат XML или какой-либо другой формат файла для сохранения настроек; если используется подход с использованием базы данных, нужно ли разрабатывать таблицу параметров или в ASP.NET имеется встроенный механизм для поддержки этого и как мне обслуживать предпочтения клиента?
Итак:
Какое решение является лучшим решением для сохранения предпочтений пользователя? Как сохранить настройки в этом решении и как клиент может получить к ним доступ и обновить их?
Предыдущие исследования
Обратите внимание, что я провел небольшое предварительное исследование по этому вопросу и нашел следующие ссылки, которые, по-видимому, поддерживают любое решение в зависимости от того, какую статью вы прочитали.
Обновление
Оказывается, Microsoft предоставила постоянство настроек в изолированном хранилище как встроенную часть Silverlight (я как-то пропустил его, пока не реализовал альтернативу). Мой ответ ниже содержит более подробную информацию по этому вопросу.
Я держу вопрос открытым, поскольку, несмотря на то, что Microsoft обеспечивает постоянство настроек на стороне клиента, это не обязательно означает, что это лучший подход для сохранения пользовательских предпочтений, и я хотел бы высказать больше мнений и предложений по этому вопросу.