1. 程式人生 > >在一般處理檔案中訪問Session需要新增IRequiresSessionState(轉載)

在一般處理檔案中訪問Session需要新增IRequiresSessionState(轉載)

通常我們經常,通過session判定使用者是否登入。還有一些臨時的、重要的資料也嚐嚐存放在Session中。

在頁面我們很容易的得到Session的值,但在類中就會遇到一些問題。也知道通過下面的方法得到。

System.Web.HttpContext.Current.Session["userinfo"];

但是今天此種方法也失靈了。在做一個小應用時,需要實現IHttpHandler,同時也需要用到使用者的標識。但是在這個類中怎麼也不能找到Session的值,曝出

System.Web.HttpContext.Current.Session為null

  為什麼得到的Session會是空呢?想了好久也沒想通。找了好久,才找到了高人的指點,問題得到了解決。

解決方法:

  在實現IHttpHandler的同時,也要實現IRequiresSessionState介面,其名稱空間為:System.Web.SessionState。

publicclass WatermarkHandler : IHttpHandler, System.Web.SessionState.IRequiresSessionState{}

繼續追蹤:

  為什麼要實現這個介面呢?這個介面是做什麼用的呢?繼續追蹤,MSDN給了最終解釋。

  IRequiresSessionState

  指定目標 HTTP 處理程式需要對會話狀態值具有讀寫訪問權。這是一個標記介面,沒有任何方法。

  作用:

在自定義 HTTP 處理程式中實現 IRequiresSessionState 介面,以確定處理程式是否需要對會話狀態值具有讀寫訪問權   所以記得哦,如果在自定義HTTP處理程式中,要訪問Session,記得一定要實現這個介面哦。 切記切記!!!

相關推薦

一般處理檔案訪問Session需要新增IRequiresSessionState轉載

通常我們經常,通過session判定使用者是否登入。還有一些臨時的、重要的資料也嚐嚐存放在Session中。 在頁面我們很容易的得到Session的值,但在類中就會遇到一些問題。也知道通過下面的方法得到。 System.Web.HttpContext.Current.Session["userinfo"

一般處理檔案.ashx的程式碼有摺疊功能#region

注意:該方法用於網站專案。但對於其他型別的專案有一定的參考作用。 1.首先在你想被別人訪問的位置新建一個ashx檔案,如/System/xxx.ashx。 新建xxx.ashx的程式碼如下: <%@ WebHandler Language="C#" Class="x

一般處理 程序獲取Session的值?

session對象 一般處理程序如果沒有引入using System.Web.SessionState;空間和IRequiresSessionState(或者IReadOnlySessionState)接口,那麽會出現session對象未將實例化的錯誤。一般處理 程序中獲取Session中的值?

ashx一般處理程式Session讀寫問題

在.aspx.cs頁中讀寫Session都是Session["***"]就可以獲取或者寫入。但是在一般處理程式也就是ashx頁面中,再這樣寫的話,就會為null, 解決辦法是先要新增名稱空間using System.Web.SessionState; 然後再繼承介面 其中

ViewPager動態新增XML佈局檔案,並獲取XML檔案控制元件ID的操作inflate

Step 1: 佈局檔案中新增viewpager和切換頁面button <spanstyle="font-size:18px;"><RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/a

Jmeter獲取響應結果參數出現的次數轉載

log int util vars 一個數 logs ble 技術分享 自動  在測試中,有時候會遇到要統計響應結果中某個參數出現了多少次,如果量級很大,一個一個數不太現實,下面講一下實現自動打印出該參數出現的次數的方法。   例如我的響應信息為:{"ip":"1.1.1.

Spring MVC 的基於註解的 Controller轉載

med beans 沒有 對象引用 諸多 請求 icon .so 它的 終於來到了基於註解的 Spring MVC 了。之前我們所講到的 handler,需要根據 url 並通過 HandlerMapping 來映射出相應的 handler 並調用相應的

計算機的進制和編碼轉載

理論 數量 8進制 技術 單位 中國 64bit cnblogs 屬於 原文出處: http://www.cnblogs.com/resn/p/5775378.html 古時候,人們是如何來傳遞消息的? 當年周幽王為博褒妃一笑,不顧眾臣反對,竟數次無故點燃邊關告急用的烽

delphi OutputDebugString 函式的妙用轉載

原文地址 https://www.peganza.com/delphi-and-outputdebugstring.html Ever wanted to monitor your Delphi application in realtime, and be able to view log message

解決Ubuntu“下載額外資料檔案失敗 ttf-mscorefonts-installer”的問題 轉載

解決Ubuntu“下載額外資料檔案失敗 ttf-mscorefonts-installer”的問題 發表於 2017-09-15 | 更新於 2018-04-29 | 分類於 Linux | 評論數: 0 | 閱讀次數: 最近開機總是遇到一段提示,內容大概是這樣:

.Net MVC _Layout.cshtml頁面新佈局轉載

作為一個剛剛開始學習Mvc的新人來說,從之前的winform頁面到現在MVC的轉變,感覺這是華麗麗的轉身啊,再沒有拖拽控制元件,轉而是一種規範的格式,用Model-View-Controller三者把一個系統的構成完美呈現,你可以選擇用其自帶的模版來完成系統的開發,很強大,很方便。  

Jquery的AjaxcontentType和dataType的區別轉載

上程式碼 $.ajax({ type: httpMethod, cache: false, contentType: "application/json; charset=utf-8", dataType: "json",//返回值型別 url: pa

java的hasCode與equals理解轉載

1. 首先equals()和hashcode()這兩個方法都是從object類中繼承過來的。  equals()方法在object類中定義如下:    public boolean equals(Object obj) {  return (this == obj); 

UML各圖形或圖示含義轉載

關聯(Association) 實體之間的一個結構化關係表明物件是相互連線的。箭頭是可選的,它用於指定導航能力。如果沒有箭頭,暗示是一種雙向的導航能力。在Java中,關聯(圖E)轉換為一個例項作用域的變數,就像圖E的“Java”區域所展示的程式碼那樣。可為一個關聯附加其他修飾符。多重性(Multipli

java使用Gson對json解析轉載

下面小編將通過以下幾點來進行json的講解 1.什麼是JSON? (http://www.json.org/) JSON (JavaScript Object Notation) is a lightweight data-intercha

根據檔案控制代碼,獲取檔名轉載

#include <windows.h>#include <stdio.h>#include <tchar.h>#include <string.h>#include <psapi.h>#define BUFSIZE

Matlab的圖形控制代碼轉載

在matlab中,每一個物件都有一個數字來標識,叫做控制代碼.當每次建立一個物件時,matlab就為它建立一個唯一的控制代碼 控制代碼中包含有該物件的相關資訊引數,可以在後續程式中進行操作,改變其中的引數,以便達到不同的效果 例如:gcf 是返回當前被啟用的視窗的控制

ASP.NET的ASHX一般處理程式Session為null且不能賦值

首先我解釋一下 ashx檔案以前我們做ajax處理的時候要用常用的web介面處理。 現在不用了,微軟有ashx檔案,這個檔案就是後臺一些處理檔案,用extjs的同學可能會更清楚一點。 如果在這個檔案中用session,會提示失效的,網上找了很久終於找到解決辦法如下 如圖所

一般處理程序刪除文件

sts exe images scalar server quest app content 程序 int id = Convert.ToInt32(context.Request["id"]); string sql = "select ImgUrl fro

統計日誌檔案訪問數量,Spark加強版WordCount

  寫在前面 學習Scala和Spark基本語法比較枯燥無味,搞搞簡單的實際運用可以有效的加深你對基本知識點的記憶,前面我們完成了最基本的WordCount功能的http://blog.csdn.net/whzhaochao/article/details/72358215,這篇主