Spec-Zone .ru
спецификации, руководства, описания, API
|
MySQL, Connector/Net, оказывает поддержку для ASP.NET 2.0 моделей провайдера. Эта модель позволяет разработчикам приложений сосредоточиться на бизнес-логике своего приложения вместо того, чтобы иметь необходимость воссоздать такие шаблонные элементы как ролевая поддержка и членство.
MySQL предоставления Connector/Net следующие провайдеры:
Провайдер членства
Ролевой Провайдер
Провайдер профиля
Провайдер Состояния сеанса (MySQL, Connector/Net 6.1 и позже)
Следующие таблицы показывают поддерживаемых провайдеров, их провайдера значения по умолчанию и соответствующего провайдера MySQL.
Провайдер членства
Провайдер значения по умолчанию | MySQL Provider |
---|---|
System.Web.Security.SqlMembershipProvider | MySql.Web.Security.MySQLMembershipProvider |
Ролевой Провайдер
Провайдер значения по умолчанию | MySQL Provider |
---|---|
Система. Сеть. Безопасность. SqlRoleProvider | MySql. Сеть. Безопасность. MySQLRoleProvider |
Провайдер профиля
Провайдер значения по умолчанию | MySQL Provider |
---|---|
Система. Сеть. Профиль. SqlProfileProvider | MySql. Сеть. Профиль. MySQLProfileProvider |
Провайдер SessionState
Провайдер значения по умолчанию | MySQL Provider |
---|---|
System.Web.SessionState.InProcSessionStateStore | MySql.Web.SessionState.MySqlSessionStateStore |
Провайдер MySQL Session State использует немного отличающееся написание прописными буквами на имени class по сравнению с другими провайдерами MySQL.
Установка Провайдеров
Установка Соединителя/Сети 5.1 или позже установит провайдеров и зарегистрирует их в конфигурационном файле.NET
Вашей машины, machine.config
. Дополнительные создаваемые записи приведут к system.web
раздел, кажущийся подобным следующему коду:
<system.web> <processModel autoConfig="true" /> <httpHandlers /> <membership> <providers> <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="LocalSqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> <add name="MySQLMembershipProvider" type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.1.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Clear" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" /> </providers> </membership> <profile> <providers> <add name="AspNetSqlProfileProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add name="MySQLProfileProvider" type="MySql.Web.Profile.MySQLProfileProvider, MySql.Web, Version=6.1.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> </providers> </profile> <roleManager> <providers> <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add name="AspNetWindowsTokenRoleProvider" applicationName="/" type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <add name="MySQLRoleProvider" type="MySql.Web.Security.MySQLRoleProvider, MySql.Web, Version=6.1.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> </providers> </roleManager></system.web>
У каждого типа провайдера могут быть многократные реализации провайдера. Провайдер значения по умолчанию может
также быть установлен, здесь используя defaultProvider
атрибут, но обычно это
устанавливается в web.config
файл или вручную или при использовании ASP.NET
инструмента конфигурирования.
Во время записи, MySqlSessionStateStore
не добавляется к machine.config
во время установки, и так добавляют следующее:
<sessionState> <providers> <add name="MySqlSessionStateStore" type="MySql.Web.SessionState.MySqlSessionStateStore, MySql.Web, Version=6.1.1.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" connectionStringName="LocalMySqlServer" applicationName="/" /> </providers></sessionState>
Провайдер SessionState использует customProvider
атрибут, а не defaultProvider
, установить провайдера как значение по умолчанию. Типичное web.config
файл мог бы содержать:
<system.web> <membership defaultProvider="MySQLMembershipProvider" /> <roleManager defaultProvider="MySQLRoleProvider" /> <profile defaultProvider="MySQLProfileProvider" /> <sessionState customProvider="MySqlSessionStateStore" /> <compilation debug="false"> ...
Это устанавливает MySQL Providers как значения по умолчанию, которые будут использоваться в этом веб-приложении.
Провайдеры реализуются в файле mysql.web.dll
и этот файл может быть сочтен в Вашем
MySQL папкой установки Connector/Net. Нет никакой потребности выполнить любой тип сценария SQL, чтобы установить
схему базы данных, поскольку провайдеры создают и поддерживают надлежащую схему автоматически.
Используя Провайдеров
Самый легкий способ начать использовать провайдеров состоит в том, чтобы использовать ASP.NET инструмент конфигурирования, который доступен на панели инструментов Solution Explorer, когда Вам загрузили проект веб-сайта.
В веб-страницах, которые открываются, можно выбрать членство в MySQL и ролевых провайдеров, выбирая пользовательского провайдера для каждой области.
Когда провайдер устанавливается, он создает фиктивную названную строку подключения LocalMySqlServer
.
Хотя это должно быть сделано так, чтобы провайдер работал в ASP.NET инструменте конфигурирования, Вы
переопределяете эту строку подключения в Вашем web.config
файл. Вы делаете это
первым удалением фиктивной строки подключения и затем добавлением в надлежащем, как показано в следующем
примере:
<connectionStrings> <remove name="LocalMySqlServer"/> <add name="LocalMySqlServer" connectionString="server=xxx;uid=xxx;pwd=xxx;database=xxx;"/></connectionStrings>
Отметьте, что база данных, чтобы соединиться с должна быть определена.
Вместо того, чтобы вручную редактировать конфигурационные файлы, рассмотрите использование MySQL Website
Configuration tool, чтобы сконфигурировать Вашу требуемую установку провайдера. От MySQL, Connector/Net 6.1.1
вперед, все провайдеры могут быть выбраны и сконфигурированы от этого мастера. Инструмент изменяет Ваш website.config
файл к требуемой конфигурации. Учебное руководство при выполнении
этого доступно в Разделе следующего раздела 21.2.3.12, "MySQL Website Configuration Tool".
Учебное руководство, демонстрирующее, как использовать Провайдеров Членства и Роли, может быть найдено в Разделе следующего раздела 21.2.4.2, "Учебное руководство: MySQL, Connector/Net ASP.NET Членство и Ролевой Провайдер".
Развертывание
Чтобы использовать провайдеров на производственном сервере, распределите MySql.Data
и MySql.Web
блоки, и или регистрируют их в Глобальном кэше сборок удаленных систем
или сохраняют их в Вашем приложении bin/
каталог.