Ich verwende den ASP.NET-Mitgliedschaftsanbieter, um alle Mitgliedschaftsaktivitäten auf meiner aktuellen Website zu verwalten.ASP.NET-Mitgliedschaft füllt keine neuen Benutzer
Ich habe in ein seltsames Problem gerannt. Wie Sie wissen, sind die Daten in ProfileCommon gespeichert, wenn Sie mit der Asp.Net-Mitgliedschaft vertraut sind.
So können Sie ProfileCommon.UserId tun, um die Benutzer-ID zu erhalten.
Das alles funktioniert gut auf meinem Produktionsserver, meinem Staging-Server und für alte Konten auf meinem lokalen Dev-Server.
Wenn ich jedoch einen neuen Benutzer auf meinem lokalen Dev-Server anlege, wird das Profilecommon-Objekt nicht gefüllt und es werden Fehler ausgegeben, da Seiten beispielsweise auf ProfileCommon.UserId verweisen und null ist, wodurch eine Ausnahme ausgelöst wird. Der Benutzer ist authentifiziert, aber ProfileCommon wird nicht ausgefüllt.
Hat jemand irgendwelche Ideen/Vorschläge, warum dies passieren könnte?
Edit: hier ist mein web.config Eintrag. Ich bin mir nicht sicher, warum wir AspnetSqlProfileProvider entfernen und dann hinzufügen. Dies ist eine Seite, die ich übernommen habe und ich bin noch nicht 100% -ig mit der asp.net-Mitgliedschaft vertraut.
<profile defaultProvider="AspNetSqlProfileProvider">
<providers>
<remove name="AspNetSqlProfileProvider"/>
<add name="AspNetSqlProfileProvider"
type="System.Web.Profile.SqlProfileProvider"
connectionStringName="ConnectionString"/>
</providers>
Aktuelle Profilinfo;
<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>
Vielen Dank!
Wo würde das eingestellt werden, sehe ich das nirgendwo in meiner web.config –
Aktualisiert meine Antwort. –