我正在使用ASP.NET成员资格提供程序处理当前网站上的所有成员资格活动。
我遇到了一个奇怪的问题。如您所知,如果您熟悉ASP.NET成员资格,则数据存储在profilecommon中。
所以您可以通过profilecommon.userid来获取用户ID。
这在我的生产服务器、临时服务器和本地dev服务器上的旧帐户上都可以正常工作。
但是,如果我在本地dev服务器上创建一个新用户,则不会填充profilecommon对象,并且会引发错误,因为页面引用profilecommon.userid,例如,它为空,因此引发异常。用户已通过身份验证,但未填充profilecommon。
有人对这可能发生的原因有什么想法/建议吗?
编辑:这是我的web.config条目。我不知道我们为什么删除aspnetsqlprofileprovider然后添加它。这是我接手的一个网站,我还不完全熟悉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>
谢谢您!