Удаление существующих провайдеров профиля - PullRequest
0 голосов
/ 21 мая 2009


Q1 Книга предполагает, что прежде чем мы зарегистрируем новый SqlProfileProvider , мы должны удалить всех существующих провайдеров профиля, используя элемент <clear>. Но:

А) почему мы должны использовать <clear> вместо <remove>?

B) Я предполагаю, что root web.config или machine.config не регистрирует (по умолчанию) какого-либо провайдера профиля, поэтому использование элемента <clear> не является необходимым


Q2 Я предполагаю, что причина, по которой каждому свойству профиля не соответствует соответствующий столбец в таблице базы данных (вместо этого все свойства хранятся в одном поле), связана с тем фактом, что каждый раз, когда мы добавляем и удаляем свойства профиля, нам также необходимо изменить схема таблицы?


1028 * спасибо *

Ответы [ 2 ]

2 голосов
/ 21 мая 2009

На самом деле AspNetSqlProfileProvider (типа System.Web.Profile.SqlProfileProvider) добавляется по умолчанию в machine.config. Посмотрите на каталог C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG (или другое место). Тем не менее, он не зарегистрирован в качестве поставщика по умолчанию там. Поэтому, если вас устраивают настройки по умолчанию , достаточно использовать следующую конфигурацию:

<profile enabled="true" defaultProvider="AspNetSqlProfileProvider" />

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

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

По поводу Q2 вы правы. Используемая схема базы данных должна быть достаточно общей, чтобы вместить множество различных свойств (и типов свойств).

1 голос
/ 21 мая 2009

Исходя из ответа RWWilden , существует поставщик профилей таблиц SQL, который отображает свойства в столбцы в базе данных:

Образцы таблицы профиля поставщика

ScottGu кратко представил их здесь:

Поставщик профилей таблиц SQL ASP.NET 2.0

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