ASP.NETメンバーシッププロバイダを使用して、現在のサイトのすべてのメンバーシップアクティビティを処理しています。ASP.NETメンバーシップで新規ユーザーが作成されない
私は奇妙な問題に遭遇しました。ご存じのように、Asp.Netメンバーシップに精通していれば、データはProfileCommonに保存されます。
したがって、ProfileCommon.UserIdを実行してuserIDを取得できます。
これは、すべて私のプロダクションサーバー、ステージングサーバー、ローカルのdevサーバーの古いアカウントで正常に動作します。
ローカルの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>
ありがとう!
どこに設定すれば、私はweb.config内のどこにでもそのセットが表示されません –
私の答えが更新されました。 –