⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.asax

📁 LiteBlaster 是一款基于 .NET Framework 原创的 ASP.NET 论坛系统。后台程序库采用 C#/VB.NET 编写
💻 ASAX
字号:
<%@ Application ClassName="PagesShared" Language="VB" %>
<%@ Import Namespace="Auway.LiteBlaster.Core" %>
<%@ Import Namespace="Auway.LiteBlaster.Enumerations" %>
<%@ Import Namespace="Auway.LiteBlaster.Exceptions" %>
<%@ Import Namespace="Auway.LiteBlaster.Extensions" %>
<%@ Import Namespace="Auway.LiteBlaster.Forum" %>

<script runat="server">
	
	Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
		' 在应用程序启动时运行的代码
		If Setup.NotInstalled Then
			Exit Sub
		End If
		
		' 删除数据库中的在线用户信息,解决意外中止造成在线信息没有被清除的情况
		UserInfo.ClearOnlineUser()
	End Sub
	
	Sub Application_End(ByVal sender As Object, ByVal e As EventArgs)
		' 在应用程序关闭时运行的代码
	End Sub
	
	Sub Application_Error(ByVal sender As Object, ByVal e As EventArgs)
		' 在出现未处理的错误时运行的代码
		Try
			Response.Clear()
			Response.ContentType = "text/html"
			Response.WriteFile("~/Snippets/ServerError.htm")
			Response.End()
		Catch
		End Try
	End Sub
	
	Sub Application_BeginRequest(ByVal sender As Object, ByVal e As EventArgs)
		If Setup.NotInstalled OrElse SystemInfo.Instance.Maintaining Then
			Dim exePath As String = Request.CurrentExecutionFilePath.ToLower()
			If Not Setup.NotInstalled AndAlso exePath.Contains("/admin/") OrElse exePath.Contains("/setup/") Then
				Exit Sub
			End If
			
			Response.Clear()
			Response.ContentType = "text/html"
			Response.WriteFile("~/Snippets/Maintaining.htm")
			Response.End()
		End If
	End Sub
	
	Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
		' 在新会话启动时运行的代码
		If Setup.NotInstalled Then
			Exit Sub
		End If
		
		Dim si As SystemInfo = SystemInfo.Instance
	
		SyncLock si
			si.OnlineTotalCount += 1
		End SyncLock
		
		PageRelated.GenerateBoardJumpOptions()
		
'			' 如果用户的Cookie中设定了用户、密码信息,则进行自动登录
'			Request此时无效
'			Try
'				Dim col As HttpCookieCollection = SharedLib.Request.Cookies
'				Dim UserName As String, Password As String, Hidden As Boolean
'				UserName = col("UserName").Value
'				Password = col("UserPassword").Value
'				Hidden = Convert.ToBoolean(col("UserLoginHidden").Value)
'				UserInfo.Login(UserName, Password, Hidden)
'			Catch
'			End Try
	End Sub
	
	Sub Session_End(ByVal sender As Object, ByVal e As EventArgs)
		' 在会话结束时运行的代码。 
		' 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
		' InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
		' 或 SQLServer,则不会引发该事件。
		If Setup.NotInstalled Then
			Exit Sub
		End If
		
		Dim si As SystemInfo = SystemInfo.Instance
		
		SyncLock si
			si.OnlineTotalCount -= 1
		End SyncLock
	
		' 如果用户没有注销,那么在这里强制注销
		' 由于没有 HttpContext,所以要手动传入 SessionState
		UserInfo.Logout(Session)
	End Sub
	   
</script>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -