« Поставить закладку » « Сделать стартовой »

« Форумы » « Блоги » « Статьи » « Новости » « Файлы » « Realcoding IRC » « Site map » « Поиск »


Главная Главная
Анонсы Анонсы
Форумы Форумы
Каталог Каталог
Поиск Поиск
Опросы Опросы
Книжный магазин Книжный магазин
Реклама на сайте
Публикации Публикации
Партнеры Партнеры
Карта Карта сайта
Рассылки Рассылки
RSS экспорт
Настройки Настройки
О нас пишут О нас пишут
Контакты Контакты
Гостевая книга Гостевая книга


ПнВтСрЧтПтСбВс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
    Популярное
Возможности ASP.NET

События клавиатуры

Функция AccessResource

Меню и диалог

Другие классы личностей

Использование Winsock контрола

ГЛАВА 5. Классы

Создание прозрачного интерфейса программ в Windows 2000-XP

Выбор

Размещение ActiveX-компонентов в форме




    Архив файлов



    Сообщества

    Документация

    Кто на сайте
Вы не зарегистрированы.
Имя:

Пароль:

Запомнить

Регистрация позволит Вам пользоваться дополнительными сервисами.
Сейчас на сайте:
Гостей: 87
Пользователей: 0

Статьи:: C# C Sharp) :: Документация :: Сохранения параметров приложения в .Net



отправить ссылку другу версия для печати  Обсудить на форуме

Сохранения параметров приложения в .Net

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



Последовательное повествование начинается с документации, которую студия подсовывает независимо от желания разработчику, и далее по тексту все возможные методы работы с настройками:

VB

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

http://msdn.microsoft.com/en-us/library/bc6ws923.aspx

Из данных разделов документации образуется общая архитектура и механизмы работы с настройками присущие всем интерфейсам. Становиться понятно, что механизм работы с настройками из VB является стандартным и, видимо,был разработан специально для этой среды. Убирая тем самым все хитрые методы работы с конфигурационными файлами, которые было необходимо использовать до этого. Именно из бейсика удобно добавить настройки и удалить их из проекта используя дизайнер, как никогда прежде. Кроме того, доступ из среды исполнения к параметрам сводиться к простому обращению объекта My.Settings без каких-либо дополнительных заворотов. Сохранение и перезагрузка параметров так же достигается путем вызова My.Settings.Save(), My.Settings.Reload(). В общем никаких проблем. А вот полная картина работы с параметрами становиться действительно подробной если вы обратитесь к документации по C# раздела Настройки.

C#

http://msdn.microsoft.com/en-us/library/aa730869(VS.80).aspx

Необходимо помнить о том, что настройки разделяются на две области: пользователя и приложения. Каждая область имеет свои специфичные особенности отражающие механизмы работы с ними. Кроме этого, настройки попавшие в приложение из конфигурационных файлов не считываются напрямую из app.config располагаемого в директории с программой, а проходят дополнительное объединение с конфигурационными файлами пользователя. Эти специфичные для пользователя файлы хранятся в %APPDATA%[company][product][version]user.config, а так же в Local SettingsApplication Data[company][product][version]user.config.

Доступ к переменным из C# осуществляется через namespace Properties. Чтение и установка переменной производиться путем обращения к Properties.Settings.Default.myName значению. Запись измененных настроек вызовом метода Save() у объекта Properties.Settings.Default.Save().

WebServices

Вся неразбериха начинается тогда, когда вы создаете проект ВебСервиса и пытаетесь задать параметры привычным для вас способом. Работая через дизайнер настроек, созданные вами изменения попадают в файлы Settings.settings проекта, вместо положенного Web.config. Но и это не такая большая проблема по сравнению с большим выбором и запутанными схемами работы с настройками предлагаемые для работы. Вот краткие замечания:

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

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

Ну и наконец, в-третьих: в документации представлены различные методы работы с настройками веб сервисов, некоторые из которых уже рекомендуется не использовать.

http://msdn.microsoft.com/en-us/library/ms180994.aspx

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

http://msdn.microsoft.com/en-us/library/system.configuration.configurationsettings(VS.71).aspx

Web.config

Настройки файла web.config описаны в документе о ASP.NET Configuration Settings.

http://msdn.microsoft.com/en-us/library/b5ysx397(VS.80).aspx

http://msdn.microsoft.com/en-us/library/6hy1xzbw(VS.80).aspx

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

По умолчанию созданный конфигурационный файл в проекте нового ВебСервиса содержит мало информации. Документации по этому разделу у меня не получилось найти, однако если вам необходимо узнать все возможные параметры настройки и назначение каждой секции вам понадобится просмотреть основной файл конфигураций. Он находиться в папке systemrootMicrosoft.NETFrameworkversionNumberCONFIG*. К примеру для того чтобы узнать что же представляет из себя загадочная секция . Необходимо открыть machine.config, узнать тип одноименной секции в атрибуте type="System.Configuration.AppSettingsSection" после чего можно открыть раздел документации по конкретному разделу. Таким образом пробежавшись по всем значимым полям мы получаем представление о правилах работы с настройками приложения под веб.

http://msdn.microsoft.com/en-us/library/system.configuration.appsettingssection.aspx

WebConfigurationManager

Что же касается работы с ВебСервисами, то скажу лишь что необходимо использовать класс WebConfigurationManager. Последующей ссылке можно посмотреть пример работы. Там же указано что это преимущественный способ работы с настройками для веб приложений, однако для клиентских программ общающихся с данным сервисом необходимо выбрать класс ConfigurationManager.

http://msdn.microsoft.com/en-us/library/system.web.configuration.webconfigurationmanager(VS.80).aspx

WinAPI

Еще один метод работы с конфигурационными файлами, появился здесь заодно. Не используйте его при работе под .Net

http://msdn.microsoft.com/en-us/library/ms725501(VS.85).aspx

Registry

Сохранение настроек в реестр еще один способ сохранить параметры приложения между перезапусками. Однако данный метод лешен механизма наследования.

Application.UserAppDataRegistry.SetValue
Application.UserAppDataRegistry.CommonAppDataRegistry

http://msdn.microsoft.com/en-us/library/system.windows.forms.application.userappdataregistry.aspx

File store

Сохранение данных на диске с последующим использованием, рекомендуется делать по этому пути:

Application.CommonAppDataPath
Application.UserAppDataPath

http://msdn.microsoft.com/en-us/library/system.windows.forms.application.userappdatapath.aspx

Team Work

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

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

Для этого создадим общий шаблон настроек и поместим его под систему контроля версий. После чего создадим вторую рабочую копию, которая будет распространятся мимо центрального проектного хранилища через электронную почту.

http://msdn.microsoft.com/en-us/library/ms178685.aspx

Для прозрачного подключения данного файла к проекту воспользуемся механизмом наследования предлагаемого по умолчанию. Так как К ASP не предлагает гибкой схемы наследования нам придется исключить файл Web.config из репозитория файлов переименовав его в Web.default.

Ссылки по теме:


Автор: axet, http://blog.axet.ru/
Дата: 28 мая 2008 года




Рубрика: Документация




Вышел MySQL 5.1.30, первый стабильный рели....

MySQL

После публикации 29 тестовых версий анонсирован первый стабильный релиз MySQL 5.1, пригодный для промышленной эксплуатации и обеспечивающий увеличение производительности для "тяжелых" SQL запросов, по сравнению с MySQL 5.0, примерно на 15-20%. Главные новшества появившиеся в MySQL 5.1:


Подробнее... | Рубрика: MySQL | Добавлено: 28.11.2008

Тестирование параллельных программ.

Тестирование

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


Подробнее... | Рубрика: Тестирование | Добавлено: 28.11.2008

Архитектура AMD64 (EM64T).

Архитектура AMD

Аннотация. В статье кратко рассматривается архитектура AMD64 компании AMD и ее реализация EM64T компании Intel. Описаны особенности архитектуры, ее возможности, достоинства и недостатки.


Подробнее... | Рубрика: Архитектура AMD | Добавлено: 27.11.2008

Остальные статьи:

Платформа 2009. Определяя будущее
Windows Vista Bridge Sample Library - упра...
Оптимизация 64-битных программ
Подгрузка через AJAX HTML-кода, содержащег...
Обзор нового релиза самой мощной Ajax библ...
Firebug 1.3 и 1.4 alpha — что нового и инт...
Релиз Microsoft Silverlight 2.0. Что новог...
XML документация в C#
Курсоры в MySQL 5
Microsoft опубликовала подробности о сесси...
Microsoft делится подробностями о том, что...
Тестируем новый javascript от нового брауз...
MySQL Query Cache
Использование провайдеров компиляции в As...
Чего мы ждем от C# 4.0
Delphi 2009 и C++Builder 2009
Джоэл Спольски и Джеф Этвуд запустили новы...
Поиск кода Google /* что нового? */
10 jQuery скриптов для улучшения интерфейс...
Генераторы отчетов FastReport 4 и QuickRep...


Цитата дня (все,добавить):

Портал фрилансеров

работа на дому


    Рубрикатор

Программирование

C/С++
Обучение
Windows API
XAML
Моделирование
Паттерны
Visual Basic 7 .NET
WxWidgets
Функции WinApi
Функции С++
Разработка под Mac OS
Eiffel
Visual Studio 2008
UI дизайн
Алгоритмы
Конкурсные статьи
Turbo Pascal
Visual Studio
CASE-средства
Visual Studio 2005
Без VCL
Delphi
Тех. документация
Тестирование
Software Testing
ООП
TCP/IP
Google Android
Windows Installer
.NET Framework
Драйвера
C# C Sharp
Справка
Проектирование
Информ. системы
Visual Basic
Assembler
Оптимизация кода
Gtk+
Компоненты
Реинжиниринг
Управление проектами
Extreeme programming
Lotus Notes
Алгебраическое проектирование


Интернет технологии

PHP
Perl
ASP
WAP
Cookies
SSI
CGI
Web Servers
VB Script
DNS
CSS
XML
Html
Java Script
Java2ME
Firewall
Flash
.htaccess
Apache
VRML
Протоколы
Поисковые системы
Технология JAVA
Учебник по PHP
Учебник по JavaScript
Учебник по XML
Java Q&A
AJAX
DHTML
XHTML
Dreamweaver
Web 2.0
Python
Вебмастеру
Cisco
Ruby on Rails
Silverlight

Базы данных

Access
InterBase
MySQL
Oracle
ADO .NET
Основы SQL
Учебник по Access 2002
MS
Microsoft FoxPro
Доступ к данным
XML в MS SQL Server 2000
ODBC и MyODBC
Обучение
Caché
DB2
PostgresSQL
Sybase
Теория
Хранилища данных
Безопасность
Реляционные данные
MySQL и mSQL

Остальное:

Разное
Обзоры книг
Безопасность
Графика и дизайн
Юмор
Linux
Фракталы
Microsoft Axapta
Многоядерность
Сети
Microsoft Office
Работа
MS-DOS
Криптография
Графика и игроделание
Новости SDK
Системы защиты
Учебник по AutoCad
CVS
Windows XP
Windows Server 2003
Windows Vista
Windows 7
Мероприятия