Asp.net在ashx文件中處理Session問題解決方法
今天做一個vb.net的登錄實例,前臺使用Ext中Ajax ,后臺用ashx文件處理登錄過程,并將用戶儲存在Session中總是出現(xiàn)在這個錯誤. [NullReferenceException: 未將對象引用設(shè)置到對象的實例。]
從網(wǎng)上查了一下有以下幾種原因:
1、ViewState 對象為Unll。
2、DateSet 空。
3、sql語句或Datebase的原因?qū)е翫ataReader空。
4、聲明字符串變量時未賦空值就應(yīng)用變量。
5、未用new初始化對象。
6、Session對象為空。
開始以為是 Session對象為空的原因:將代碼修改以下
if context.Session.isNewSession then
context.Session("UserName")=username 'username為接受的用戶名
.................
這樣修改了以后,暈!!!!!,還是相同的錯誤.再Google吧
輸入:ashx 處理 session 中于搜到了,太不容易,看來搜索也需要很多技巧
原來:在 ashx 中要使用Session ,需要繼承System.Web.SessionState.IRequiresSessionState接口.默認(rèn)的之繼承了IHttpHandler接口
OK 直接看源代碼吧
<%@ WebHandler Language="VB" Class="logout" %>
Imports System
Imports System.Web
Imports System.Web.SessionState
Public Class logout : Implements IHttpHandler, IRequiresSessionState
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
context.Session.Clear()
context.Response.Write("{'success':'true'}") 'JSON格式數(shù)據(jù)
End Sub
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
相關(guān)文章
深入Lumisoft.NET組件與.NET API實現(xiàn)郵件發(fā)送功能的對比分析
本篇文章對Lumisoft.NET組件與.NET API實現(xiàn)郵件發(fā)送的功能兩者進(jìn)行了深入的對比分析。需要的朋友參考下2013-05-05
Visual Studio 2017新版發(fā)布 更強(qiáng)大!
Visual Studio 2017新版發(fā)布 更強(qiáng)大!對Visual Studio 2017感興趣的小伙伴們可以參考一下2017-05-05
ASP.NET Core 2.0 使用支付寶PC網(wǎng)站支付實現(xiàn)代碼
這篇文章主要介紹了ASP.NET Core 2.0 使用支付寶PC網(wǎng)站支付實現(xiàn)代碼,需要的朋友可以參考下2017-10-10

