Как кешировать / хранить настройки приложения в библиотеке классов - PullRequest
0 голосов
/ 19 февраля 2011

Я создал библиотеку классов, которую можно использовать из Windows или веб-приложения. Некоторые параметры, которые требуются для библиотеки классов, должны быть прочитаны из app.config или web.config этих вызывающих приложений в большинстве методов внутри библиотеки классов. Чтобы повысить производительность, я хочу кое-что кешировать, как эти настройки информации для каждого приложения.

как мы можем это сделать? Одним из предложений является использование объекта HttpRuntime.Cache. Другой метод может использовать некоторую статическую переменную для хранения данных, но он может иметь проблемы с конфликтом AppDomain / Scope.

Итак, я не уверен, каков наилучший способ сделать это (обратите внимание, что это общий класс, который может использоваться из Windows или веб-приложений)

Ответы [ 2 ]

0 голосов
/ 19 февраля 2011

У меня было много внутренних конфликтов по поводу того, должен ли я сохранять настройки библиотеки классов в .config вызывающей стороны или мне просто нужно передать эту информацию о конфигурации в библиотеку классов во время создания экземпляра. Одним из решений было бы изменить вашу библиотеку классов, чтобы она брала информацию о конфигурации во время создания (вызывающее приложение все еще может сгенерировать ее из своего .config). Таким образом, вызывающее приложение может контролировать кэширование данных конфигурации.

Например, веб-приложение считывает свой web.config для каждого запроса и передает его как объект конфигурации, тогда как приложение Windows считывает свой app.config в объект конфигурации один раз и сохраняет его где-то, чтобы оно могло непрерывно восстанавливать библиотеку без необходимости перечитывать его app.config.

0 голосов
/ 19 февраля 2011

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

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