Глобальное состояние в приложении ASP.NET MVC
-
18-09-2019 - |
Вопрос
Проблема: наша веб -консоль показывает список всех компьютеров, на которых установлено наше приложение. У каждой машины есть некоторая идентификационная информация, которая может быть связана с ней. Простые строки, такие как имя отделения, название команды и т. Д. Мы должны сделать это таким образом, чтобы пользователь мог изменить имя этих полей идентификации и добавить/удалить столько, сколько он хочет. Как мы можем лучше реализовать это?
Первоначально я думал, что смогу реализовать это как синглтон. В начале приложения я мог прочитать последний набор личности поля имена из БД и создайте синглтонский экземпляр списка строк. Это может быть передано всем функциям, которые должны отображать или получить доступ к информации идентификации. Апелляция в этой опции заключается в том, что если пользователь изменяет имя полей идентификации из пользовательского интерфейса или добавляет или удаляет поля, я могу просто изменить объект Singleton, и изменение будет отражено.
Однако я чувствую, что должен быть лучший способ достичь того, что я хочу. Потому что есть много такой информации, которую пользователь может изменить по желанию, и мы должны их отслеживать.
Какие-либо предложения?
Решение
Просто используйте объекты из вашего ORM, чтобы поддерживать и использовать эту информацию в приложении. Многие Орты имеют возможность кэшировать подобные вещи, так что вы не потеряете скорость из -за этого.
Я не большой поклонник использования Singleton для этого. Это трудно для модуля, и вам все равно придется в конечном итоге сохранить его в базе данных.