2016-02-28 80 views
1

我遇到ASP.NET WebForms註銷問題。 我爲Google和Facebook啓用外部登錄後無法使用。啓用外部登錄後,ASP.NET WebForms註銷不起作用

單擊「註銷」按鈕不會觸發LoginStatusControl中的OnLoggingOut事件,因此,未命中後端方法Unnamed_LoggingOut。點擊註銷按鈕後,它會進行回發並重新加載主頁。如果我輸入其他頁面,然後單擊註銷按鈕,它將起作用併成功註銷。

我使用Visual Studio母版頁模板和後面的代碼,它們沒有被修改。

<asp:LoginView runat="server" ViewStateMode="Disabled"> 
<AnonymousTemplate> 
    <ul class="nav navbar-nav navbar-right"> 
     <li><a runat="server" href="~/Account/Register">Register</a></li> 
     <li><a runat="server" href="~/Account/Login">Log in</a></li> 
    </ul> 
</AnonymousTemplate> 
<LoggedInTemplate> 
    <ul class="nav navbar-nav navbar-right"> 
     <li><a runat="server" href="~/Account/Manage" title="Manage your account">Hello, <%: Context.User.Identity.GetUserName() %> !</a></li> 
     <li> 
      <asp:LoginStatus runat="server" LogoutAction="Redirect" LogoutText="Log off" LogoutPageUrl="~/" OnLoggingOut="Unnamed_LoggingOut" /> 
     </li> 
    </ul> 
</LoggedInTemplate> 

protected void Unnamed_LoggingOut(object sender, LoginCancelEventArgs e) { 
    Context.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie); 
} 

回答

0

原來,當我在我的本地機器上運行的應用程序的問題,只存在 - 本地主機/仍然沒有解釋爲什麼/。 我已經在appharbor部署了應用程序,登錄和註銷都正常工作。