3

Я использую пользовательский код для входа и выхода из системы в моем веб-приложении. по нажатию кнопки Войти, приведенный ниже код выполняет:как выйти из моего приложения asp.net?

if (Membership.ValidateUser(txtUserEmail.Text, txtUserPass.Text)) 
{ 
    HttpContext.Current.Profile.Initialize(txtUserEmail.Text.Trim(), true); 
} 

я затем проверить profile.Username на предварительной инициализации из everypage, чтобы проверить, является ли зарегистрирован пользователь или нет. Но теперь я не знаю, что делать, чтобы выйти из системы, чтобы профиль был установлен на нуль или что-то в этом роде. Я стараюсь все эти на щелчке кнопку выхода из системы:

protected void lnkBtnLogout_Click(object sender, EventArgs e) 
{ 
Session.Abandon(); 
Request.Cookies.Clear(); 
FormsAuthentication.SignOut(); 
var p = HttpContext.Current.Profile; 
Response.Redirect("/Default.aspx"); 
} 

Я использую переменную р раз, чтобы проверить, был ли профиль был сброшен или нет, но он по-прежнему имеет все значения зарегистрированный пользователь. Итак, что мне делать, чтобы сбросить профиль и выйти из системы? ???

+1

Вы проверили это * после * перенаправление? – Paul

+0

Да, все значения профиля по-прежнему таковы, что они заполнены текущими подробностями пользователя. – MrClan

+0

Можете ли вы добавить «if (! IsPostBack)», чтобы попробовать? –

ответ

2

Сразу после того, как SignOut() совершит перенаправление с остановкой всего остального, так что страница перестает обновлять что-либо еще.

Таким образом, код будет.

protected void lnkBtnLogout_Click(object sender, EventArgs e) 
{ 
    Session.Abandon(); 
    Request.Cookies.Clear(); 
    FormsAuthentication.SignOut(); 
    Response.Redirect("/Default.aspx", true); 
} 

После проверки переадресации, если использование все еще войти. Пользователь не выйти после вызова SignOut, но после окончания и промывки конечного печенья, а на следующей странице загрузки.

+0

nopes, даже с этим кодом, тот же результат. Пользователь перенаправляется на страницу default.aspx, но он не выходил из системы, и объект Profile по-прежнему заселен, из-за которого, если он/кто-то еще перемещается назад, а затем пытается использовать приложение, все внутри ведет себя нормально (как это обычно должно быть), что касается приложения, пользователь все равно регистрируется. – MrClan

+0

@PratikChandra проверьте, есть ли у вас кеш-страница! – Aristos

+0

довольно уверен, ничего не кэшировано !!! – MrClan