2013-05-09 2 views
0

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

Настройки в этой «большой» объект представляют собой наборы данных, с идентификатором, пути, текст и т.д. ...

Мы хотим отойти от .NET Remoting к ФОС и потенциально избавиться от наших услуг окон и запустить партию под IIS (и в конечном итоге Azure), но, будучи без гражданства, мне интересно, как мы должны справиться с этим?

1) Какой лучший метод вы можете придумать? Из опыта предпочтительнее.

Одно из предложений, которое было сделано для меня, заключалось в том, чтобы вернуть все это клиенту, кешировать его и использовать только соответствующие настройки при вызове wcf.

2) Многочисленные услуги, которые у нас есть, - это услуги опроса, постоянный мониторинг, базы данных, местоположения файлов, местоположения ftp и т. Д. ... Как бы вы порекомендовали обработать это в среде без гражданства? Я не вижу, как это будет обрабатываться.

Мы используем SQL Server, но я не хочу слишком сильно полагаться на встроенные функции, поскольку мы могли бы потенциально поддерживать подобные mySQL & Oracle.

Спасибо.

Thierry

ответ

0

Вы можете сохранить эти настройки в AppSettings секции конфигурационного файла (Web.config для IIS). Используя класс ConfigurationManager, вы можете получить соответствующие значения по мере необходимости.

Если вы предпочитаете хранить экземпляр static вашего объекта настроек, предложите реализовать шаблон Singleton для него. article от Jon Skeet - отличная отправная точка.

Надеюсь, это поможет.

+0

Использование Appsettings не будет работать. Слишком много объектов, словарей, списков и т. Д. Что касается одноэлементного шаблона, то он уже используется на данный момент, но я пытаюсь отойти от него. У нас есть этот большой объект, который хранит всю эту информацию, и он разделяется различными службами Windows, рабочими потоками и т. Д. ... и если мы когда-либо захотим перейти в среду без гражданства, нам придется выяснить, как получить доступ к этим по-разному, чем загрузка партии в память, но чтение всех этих настроек с сервера sql каждый раз просто не вариант. Любопытно посмотреть, как это можно сделать. – Thierry

Смежные вопросы