Я использую поставщика членства ASP.NET для обработки всех действий по членству на моем текущем сайте.
Я столкнулся со странной проблемой. Как вы знаете, если вы знакомы с членством в Asp.Net, данные хранятся в ProfileCommon.
Таким образом, вы можете использовать ProfileCommon.UserId для получения идентификатора пользователя.
Все это прекрасно работает на моем производственном сервере, моем промежуточном сервере и для старых учетных записей на моем локальном сервере разработки.
Однако, если я создаю нового пользователя на своем локальном dev-сервере, объект Profilecommon не заполняется и выдает ошибки, поскольку страницы ссылаются, например, на ProfileCommon.UserId, и он имеет значение null, что вызывает исключение. Пользователь прошел проверку подлинности, но ProfileCommon не заполняется.
У кого-нибудь есть идеи / предложения относительно того, почему это может происходить?
Редактировать: вот моя запись web.config. Я не уверен, почему мы удаляем AspnetSqlProfileProvider, а затем добавляем его. Это сайт, который я взял на себя, и я еще не на 100% знаком с членством в asp.net.
<profile defaultProvider="AspNetSqlProfileProvider">
<providers>
<remove name="AspNetSqlProfileProvider"/>
<add name="AspNetSqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="ConnectionString"/>
</providers>
Актуальная информация о профиле;
<profile defaultProvider="SqlProfileProvider">
<providers>
<remove name="AspNetSqlProfileProvider"/>
<add name="SqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="FiftyMillionDBConnection"/>
</providers>
<properties>
<add name="FirstName" type="String" serializeAs="String"/>
<add name="LastName" type="String" serializeAs="String"/>
<add name="EmailAddress" type="String" serializeAs="String"/>
<add name="ScreenName" type="String" serializeAs="String"/>
<add name="BirthDay" type="DateTime" serializeAs="String"/>
<group name="Address">
<add name="AddressLine1" type="String" serializeAs="String"/>
<add name="AddressLine2" type="String" serializeAs="String"/>
<add name="City" type="String" serializeAs="String"/>
<add name="State" type="String" serializeAs="String"/>
<add name="Zip" type="String" serializeAs="String"/>
</group>
<group name="PersonalInfo">
<add name="Gender" type="String" serializeAs="String"/>
<add name="Height" type="String" serializeAs="String"/>
</group>
<group name="OtherInfo">
<add name="Agent" type="String" serializeAs="String"/>
<add name="Employee" type="String" serializeAs="String"/>
<add name="Source" type="String" serializeAs="String"/>
<add name="EventRegistration" type="String" serializeAs="String"/>
</group>
<group name="AuthInfo">
<add name="GUID" type="String" serializeAs="String"/>
<add name="RegSource" type="String" serializeAs="String"/>
<add name="ReceiveMail" type="String" serializeAs="String"/>
</group>
</properties>
</profile>
Спасибо!