C# webserver 可以通过使用内置的 HttpSessionState
类或自定义 Session 管理器来管理 Session。以下是两种方法的示例:
- 使用内置的
HttpSessionState
类:
using System.Web; // 在请求处理方法中获取 Session public void HandleRequest(HttpContext context) { HttpSessionState session = context.Session; // 设置 Session 变量 session["username"] = "John Doe"; // 获取 Session 变量 string username = session["username"] as string; }
- 自定义 Session 管理器:
using System;
using System.Collections.Generic;
public class SessionManager
{
private static Dictionary> sessions = new Dictionary>();
public static void SetSessionValue(string sessionId, string key, object value)
{
if (!sessions.ContainsKey(sessionId))
{
sessions[sessionId] = new Dictionary();
}
sessions[sessionId][key] = value;
}
public static object GetSessionValue(string sessionId, string key)
{
if (sessions.ContainsKey(sessionId) && sessions[sessionId].ContainsKey(key))
{
return sessions[sessionId][key];
}
return null;
}
}
然后在请求处理方法中使用自定义 Session 管理器:
// 在请求处理方法中获取 Session public void HandleRequest(HttpContext context) { string sessionId = context.Request.Cookies["sessionId"].Value; // 设置 Session 变量 SessionManager.SetSessionValue(sessionId, "username", "John Doe"); // 获取 Session 变量 string username = SessionManager.GetSessionValue(sessionId, "username") as string; }