Я использую членство и создал настраиваемый профиль, который содержит свойство FirstName. Он хорошо работает, за исключением случаев, когда сеанс/файлы cookie теряются (я не понял, что именно, поскольку его довольно сложно воспроизвести). Затем, когда я получить доступ к любой странице сайта я получаю это исключение:Настройки членстваPropertyNotFoundException после завершения сеанса
[SettingsPropertyNotFoundException:. Свойство настройки «ПгвЬЫате» не был найден] System.Configuration.SettingsBase.GetPropertyValueByName (String ИмениСвойства) +8757578 System.Configuration.SettingsBase.get_Item (String ИмениСвойства) +118 System.Web.Profile.ProfileBase.GetInternal (String ИмениСвойства) +49 System.Web.Profile.ProfileBase.get_Item (String ИмениСвойства) +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 системы .Web.UI.Control.InitRecursive (Control NamingContainer) +421 System.Web.UI.Control.InitRecursive (Control NamingContainer) +421 System.Web.UI.Page.ProcessRequestMain (Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2098
У вас есть идеи, как я могу остановить это исключение от того, чтобы его бросили? Также CustomErrors включены для этого сайта и обходят страницу ошибки, вместо этого она показывает исключение. Я просто хочу, чтобы пользователи не видели это уродливое исключение.
Спасибо! В худшем случае мы прибегнем к Login View (сайт изначально был реализован без участия, поэтому мы сохранили исходные элементы управления, но, к сожалению, LoginView не использовался). Кроме того, что касается проверки подлинности, я делаю это за пределами страниц внутри класса, поэтому у меня нет доступа к объекту Request. Однако я мог бы попытаться направить его через главную страницу. Вернется с результатами. –
Я забыл упомянуть, что мой текущий способ проверки подлинности пользователя - это HttpContext.Current.User! = Null –