Использование нескольких поставщиков профилей с перекрывающимися свойствами - PullRequest
0 голосов
/ 08 мая 2009

Я работаю с сайтом, который должен использовать двух разных провайдеров профиля asp.net. Они оба добавлены в web.config, и там перечислены свойства каждого из них. Я сталкиваюсь с проблемой, когда пытаюсь включить свойство с одинаковым именем в каждом поставщике. Прокомментируйте один, и сайт по крайней мере загрузится. Оставьте оба, и я получаю сообщение об ошибке:

Товар уже добавлен. Ключ в словаре: 'myfieldname' Добавляемый ключ: 'MyFieldName'

Свойства совершенно разные (даже разные типы), но мне не хватает того, как я позволил бы использовать оба.

Должен быть какой-то путь, по которому я скучаю, так как кажется, что это может быть общей проблемой.

1 Ответ

0 голосов
/ 08 мая 2009

Я только когда-либо реализовывал систему с одним профилем с проектом веб-приложения. С шаблоном веб-сайта функциональность из коробки. Профили позволяют хранить некоторую дополнительную информацию для каждого пользователя при использовании системы членства ASP.NET. Профили автоматически сохраняются в базе данных, когда мы добавляем эту дополнительную информацию в наш файл web.config.

Имеет смысл, что возникнет конфликт, если вы используете свойства профиля с одинаковыми именами - возможное решение будет состоять в том, чтобы создать собственное отображение таблицы - например, дать «MyFieldName» псевдоним в web.config, но сопоставьте его с реальным именем собственности в вашем коде. Поскольку большая часть функциональности не входит в комплект поставки шаблона веб-сайта, вы можете быть ограничены в количестве настроек, которые вы можете выполнить.

Могут помочь следующие ссылки:

http://code.msdn.microsoft.com/WebProfileBuilder

http://weblogs.asp.net/joewrobel/archive/2008/02/03/web-profile-builder-for-web-application-projects.aspx

http://weblogs.asp.net/jgalloway/archive/2008/01/19/writing-a-custom-asp-net-profile-class.aspx

...