[英]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.