Опубликован: 14.11.2006 | Доступ: свободный | Студентов: 5898 / 532 | Оценка: 4.18 / 3.74 | Длительность: 16:37:00
ISBN: 978-5-9556-0085-7
Лекция 15:

Конфигурирование проекта. Глобальные объекты

< Лекция 14 || Лекция 15: 12345 || Лекция 16 >

Корневой узел Web.config называется configuration:

<configuration 
xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">

В нем содержится информация трех видов:

1. Настройки приложения, доступные во время разработки.

Они находятся в узле appSettings:

<configuration>
<appSettings>
<add key="SalesTax" value="0.08" />
</appSettings>

При этом получить доступ к настройкам из приложения можно с помощью свойства AppSettings:

ConfigurationManager.AppSettings["SalesTax"];

2. Строки соединения с источниками данных. Примеры были приведены в "Работа с базами данных (продолжение). Элементы-источники данных (Data Source Controls)" .

Доступ к коллекции строк соединения происходит с помощью свойства ConnectionStrings:

using System.Configuration;

  ConnectionStringSettings connectionStringSettings =
ConfigurationManager.ConnectionStrings["NorthwindConnectionString"
];

ConnectionStringSettings наследует Класс ConfigurationElement.

3. Установки System.Web и System.Net

В секции System.Net хранятся установки почтового сервера, если он есть.

Настройки System.Web состоят из нескольких категорий:

  • Установка глобальных тем.
<pages styleSheetTheme="White"/>
  • Способ аутентификации.
<authentication mode="Forms">
<forms loginUrl="Default.aspx" protection="Validation" time-
out="300"/>
</authentication>
  • Включена ли анонимная аутентификация.
  • Настройки глобализации:
<globalization requestEncoding="utf-8" responseEncoding="utf-8"/>
  • Подключение менеджера ролей:
<roleManager enabled="true"/>
  • Параметры, хранящиеся в профилях пользователей.
  • Модули HTTP, которые обрабатывают выходной поток сервера.
  • Провайдер карты сайта.
  • Настройки обработки ошибок:
<customErrors mode="RemoteOnly">
    <error statusCode="404" redirect="missingPage.aspx"/>
  </customErrors>

Здесь задается страница, на которую перенаправляется пользователь, когда запрашиваемый им файл не найден.

Атрибут mode="RemoteOnly" определяет, что эту страницу увидят только пользователи, а администратор сайта увидит стандартное сообщение об ошибке.

  • Настройки компилятора находятся в узле compilation. Во время разработки обычно включается отладка:
<compilation debug="true"/>

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

Это лишь некоторые из доступных настроек. В файле <windir>\ Microsoft.NET\Framework\<version>\CONFIG \web.config.comments находится подробное описание всех возможных настроек web.config.

Изменять настройки web.config можно двумя способами. Первый — вручную редактировать его текст в редакторе. И второй — с помощью web-интерфейса, который работает на локальном сервере. Для этого из меню Website выберите пункт ASP .NET Configuration или нажмите на крайнюю справа кнопку в окне Solution Explorer.

< Лекция 14 || Лекция 15: 12345 || Лекция 16 >
Алексей Савельев
Алексей Савельев

https://technet.microsoft.com/en-us/library/ms143221(v=sql.105).aspx

Денис Прокофьев
Денис Прокофьев

Везде написано, что это самый независимый и простой в использовании навигационный элемент управления, что он работает сразу с web.sitemap и не требует определения SiteMapDataSource.

Моя карта сайта состоит из двух страниц, вложенных друг в друга. asp:Menu, asp:TreeView отбображаются как ожидалось, а вот asp:SiteMapPath - нет. Он не виден нигде. Однако на его месте формируется разметка: <span id="SiteMapPath1"><a href="#SiteMapPath1_SkipLink" style="position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;">Проход по ссылкам навигации</a><a id="SiteMapPath1_SkipLink"></a></span> - т.е. элемент отрабатывает.

В словах xHTML это выглядит так: <asp:SiteMapPath ID="SiteMapPath1" runat="server" />. Причем не важно - внутри тега form или снаружи - всегда одинаково.

Т.к. другие нав. ЭУ работают через простой источник данных без ошибок, делаю вывод - карта составлена правильно. ИД: <asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" />

Карта: <?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
  <siteMapNode url="~/L11_1_simplePage.aspx" title="Страница 1"  description="Простая страница 1." >
    <siteMapNode url="~/L11_1SimplePage2.aspx" title="Страница 2"  description="Простая страница 2" />
  </siteMapNode>
</siteMap>

Почему так происходит? Вроде делаю все по примерам. VS Community 2015. NetFramework в проекте: v4.0.30319