首先要在服务器端配置状态服务,步骤如下:
1.开始 ASP.NET 状态服务:cmd里面命令:services.msc,将ASP.NET状态服务启动
2.配置webconfig
<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424">
</sessionState>
3.如果是远程的stateserver配置注册表
命令:cmd → regedit.exeHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection
设置成1
如果是1:那么代表其他机器也可以访问当前的状态服务。如果是0,那么只能我自己访问。
注意:StateServer 对象必须可序列化
Session.aspx:
<div>
<asp:Button ID="Button1" runat="server" Text="查看session数据" />
</div>
Session.aspx.cs:
public partial class SessionDemo : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Session["ss"] = new Student()
{
Id = 1,
Name = "demo"
};
}
else
{
Response.Write(Session["ss"]);
}
}
}
[Serializable]
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public override string ToString()
{
return Id + " " + Name;
}
}