login.aspxがあります。ページをリダイレクトするためのコードがあります。
Server.Transfer(string.Format("~/admin/FillUserExtraInfo.aspx?UserName={0}",Server.UrlEncode(loginInitial.UserName)));
それはうまくいきました、そしてFillUserExtraInfo.aspxで
protected void Page_Load(object sender, EventArgs e)
{
// retrieve the username from the querystring
userName = this.Request.QueryString["UserName"];
string mode = UsefulFunctions.GetOperatingMode();
if (mode == ConfigurationSettingValues.OperatingModes.Backup.ToString())
FormsAuthentication.RedirectToLoginPage();
ただし、FormsAuthentication.RedirectToLoginPage()は機能しません。プログラムは、Page_Loadが終了するまで順方向に実行を続け、最終的にはログインに戻ります。
更新:期間中に、URLバコムを見つけましたhttp://localhost:53906/Login.aspx?ReturnUrl=%2fLogin.aspx%3fAction%3dLogout
ついに。しかし、エラーが発生しました:
Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack.
私のweb.config:
<authentication mode="Forms">
<forms loginUrl="Login.aspx" protection="All" timeout="30" requireSSL="false" slidingExpiration="true" defaultUrl="default.aspx" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>
</authentication>
私の質問:
- FormsAuthentication.RedirectToLoginPage()が機能しないのはなぜですか?
- 発生したエラーに対処するにはどうすればよいですか?
ありがとうございました。
2番目の更新:FormsAuthentication.RedirectToLoginPage()の後にResponse.End()を追加しましたが、機能しますが、例外はまだあります。