Основы ASP.NET 2.0

       

Файл Web.config


ASP .NET конфигурируется с помощью нескольких глобальных файлов .config, которые находятся в директории .NET Framework. Это файлы формата XML, которые позволяют легко изменить поведение ASP .NET. Например, там находятся machine.config и machine.config.comments, в которых содержатся настройки сервера.

Например, в узле DbProviderFactories файла machine.config находится список провайдеров баз данных. Эти провайдеры появляются в диалоге Add Connection при добавлении новых соединений с источниками данных. В список можно добавлять новых провайдеров:

<DbProviderFactories> <add name="Odbc Data Provider" invariant="System.Data.Odbc" description=".Net Framework Data Provider for Odbc" type="System.Data.Odbc.OdbcFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="OleDb Data Provider" invariant="System.Data.OleDb" description=".Net Framework Data Provider for OleDb" type="System.Data.OleDb.OleDbFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="OracleClient Data Provider" invariant="System.Data.OracleClient" description=".Net Framework Data Provider for Oracle" type="System.Data.OracleClient.OracleClientFactory, System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="SqlClient Data Provider" invariant="System.Data.SqlClient" description=".Net Framework Data Provider for SqlServer" type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add name="SQL Server CE Data Provider" invariant="Microsoft.SqlServerCe.Client" description=".NET Framework Data Provider for Microsoft SQL Server 2005 Mobile Edition" type="Microsoft.SqlServerCe.Client.SqlCeClientFactory, Microsoft.SqlServerCe.Client, Version=9.0.242.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" /> </DbProviderFactories>


В файле machine. config содержится информация, необходимая для работы служб персонализации и управления ролями. Профили пользователей хранятся в aspnetdb.mdf локального сервера SQL Express:

<connectionStrings> <add name="LocalSqlServer" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" /> </connectionStrings>

Каждая страница ASP .NET по умолчанию может обращаться к некоторым пространствам имен. Список этих пространств имен определен в конфигурационном файле <windir>\Microsoft.NET\Framework\<version>\CONFIG\web.config:

<pages> <namespaces> <add namespace="System" /> <add namespace="System.Collections" /> <add namespace="System.Collections.Specialized" /> <add namespace="System.Configuration" /> <add namespace="System.Text" /> <add namespace="System.Text.RegularExpressions" /> <add namespace="System.Web" /> <add namespace="System.Web.Caching" /> <add namespace="System.Web.SessionState" /> <add namespace="System.Web.Security" /> <add namespace="System.Web.Profile" /> <add namespace="System.Web.UI" /> <add namespace="System.Web.UI.WebControls" /> <add namespace="System.Web.UI.WebControls.WebParts" /> <add namespace="System.Web.UI.HtmlControls" /> </namespaces>



Вы можете изменять этот список, например добавить те пространства имен, которые используете во всех проектах. Но будьте осторожны, потому что в разных пространствах имен определены классы с одинаковыми именами. Например, класс Label определен в System.Windows.Forms и в System.Web.UI.WebControls, но в ASP .NET нужен только второй. Использование класса Label, когда включены оба заголовка, приведет к ошибке компиляции.

Классы находятся в сборках (assembly), и если вы хотите использовать нестандартную сборку, в проекте нужно создать ссылку на нее. Например, при работе с базой данных Oracle включается сборка System.Data.OracleClient. Чтобы создать ссылку, выберите в меню Website пункт Add Reference и выберите нужный компонент. В файл web.config проекта добавится пункт

<assemblies> <add assembly="System.Data.OracleClient, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/> </assemblies>

Какие сборки включаются по умолчанию, также определено в конфигурационном файле .NET Framework web.config:

<compilation> <add assembly="mscorlib" /> <add assembly="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add assembly="System.Configuration, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add assembly="System.Web.Services, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> <add assembly="System.Drawing, Version=2.0.0.0, Culture=neu- tral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add assembly="*" /> </assemblies>

В этот список можно добавить те сборки, которые используются во всех ваших проектах.

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





В этот список можно добавить те сборки, которые используются во всех ваших проектах.

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

Корневой узел 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. Строки соединения с источниками данных. Примеры были приведены в лекции 7.

Доступ к коллекции строк соединения происходит с помощью свойства 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.


Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий