会话丢失后的成员资格SettingsPropertyNotFoundException

时间:2013-10-24 17:39:42

标签: c# asp.net asp.net-membership membership-provider membership

我正在使用成员身份并创建了一个包含名为FirstName的属性的自定义配置文件。除了会话/ cookie丢失之外它很有效(我还没弄清楚哪个会因为很难重现)。然后当我访问该网站的任何页面时,我得到了这个例外:

  

[SettingsPropertyNotFoundException:设置属性'FirstName'不是   找到。]      System.Configuration.SettingsBase.GetPropertyValueByName(字符串   propertyName)+8757578      System.Configuration.SettingsBase.get_Item(String propertyName)+118      System.Web.Profile.ProfileBase.GetInternal(String propertyName)+49      System.Web.Profile.ProfileBase.get_Item(String propertyName)+129      WebFrontend.Security.SecurityHandler.get_FullName()+ 168      WebFrontend.Controls.LoginInfo.SetupLoginStatus()+15      System.Web.UI.Control.InitRecursive(Control namingContainer)+186      System.Web.UI.Control.InitRecursive(Control namingContainer)+421      System.Web.UI.Control.InitRecursive(Control namingContainer)+421      System.Web.UI.Control.InitRecursive(Control namingContainer)+421      System.Web.UI.Control.InitRecursive(Control namingContainer)+421      System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,   布尔includeStagesAfterAsyncPoint)+2098

你知道如何阻止这个异常被抛出吗?此站点的CustomErrors也为ON,它绕过错误页面,而不是显示异常。我只是想阻止用户看到这个丑陋的异常。

1 个答案:

答案 0 :(得分:0)

听起来您尝试在不再进行身份验证时访问用户个人资料。我建议您在访问用户配置文件属性之前考虑实施登录视图或检查身份验证:

  1. 登录视图: http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.loginview.anonymoustemplate(v=vs.100).aspx

  2. 检查身份验证: http://msdn.microsoft.com/en-us/library/system.web.httprequest.isauthenticated(v=vs.90).aspx