簡體   English   中英

Session.Abandon未觸發或拋出錯誤消息

[英]Session.Abandon Not Firing or Throwing error message

我有以下代碼引發了錯誤消息,我需要在web.config上啟用會話,但是到目前為止我還沒有發現任何東西,所以誰能告訴我它應該如何工作?

我也嘗試將代碼放置在Page_Load的Decline內,但服務器似乎避免了Session的指令:

    public partial class Decline : DataPage
    {
        protected Decline() {
            Session.RemoveAll();
            Session.Clear();
            Session.Abandon();
            Response.Cookies.Remove("Accessed");
        }

       protected void Page_Load(object sender, EventArgs e)
       {  
           Response.Redirect("~/Account/Login.aspx");
       }
    }

這是完整的消息:

只有在配置文件或Page指令中將enableSessionState設置為true時,才可以使用會話狀態。 還請確保在應用程序配置的<configuration>\\<system.web>\\<httpModules>部分中包含System.Web.SessionStateModule或自定義會話狀態模塊。

這正在運行.net 4框架,來自以下答案的配置不太適合我當前的項目。 因為那提供了.net mvc 2解決方案。 因此,如果在.net 4上有一個等效項,這將是有幫助的

<system.webServer>
   <modules runAllManagedModulesForAllRequests="true">
    <remove name="Session" />
    <add name="Session" type="System.Web.SessionState.SessionStateModule, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  </modules>
</system.webServer>

會話狀態只能在配置中將enableSessionState設置為true時使用

我也已經為我的頁面提供了以下行

<%@ Page Title="" Language="C#" CodeFile="Decline.aspx.cs" Inherits="Decline" enableSessionState="true" %> 

不管有沒有,它都沒有任何區別。 也在IIS 7.5上運行

我有同樣的問題,這就是我在web.Config中所做的

  <system.webServer>
     <modules runAllManagedModulesForAllRequests="true"/>
  </system.webServer>

並在您正在使用的頁面中

EnableSessionState="True"

您可以嘗試刪除一個會話並檢查它是否已被刪除

Session.Remove("test");
if (Session["test"] == null)
{
//woooo it work ;
}
else
{
// what ????
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM