我想将它保存在 cookie 中而不是 session
I want to keep it in cookie instead of session
如何将值保存在 cookie 或 header 而不是 session 中;
我不知道如何将套接字数据保存在 session 中。我试过了
Application["socket"]="127.0.0.1:3306";
没用
Session.Add("socket", sender);
Socket s = (Socket)Session["socket"];
try
{
if (Request.HttpMethod == "POST")
{
String status = Request.QueryString.Get("status").ToUpper();
if (status == "welcome")
{
try
{
String ipnum = "127.0.0.1".ToUpper();
int port = int.Parse("3306");
IPAddress ip = IPAddress.Parse(ipnum);
System.Net.IPEndPoint remoteEP = new IPEndPoint(ip, port);
Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sender.Connect(remoteEP);
sender.Blocking = false;
Session.Add("socket", sender);
Response.AddHeader("stat", "hello");
}
catch (Exception err)
{
Response.AddHeader("warn", err.Message);
Response.AddHeader("stat", "FAIL");
}
}
else if (status == "goodbye")
{
try {
Socket s = (Socket)Session["socket"];
s.Close();
} catch (Exception err){
}
Session.Abandon();
Response.AddHeader("stat", "hello");
}
取决于它是什么、您想访问它的位置以及原因。如果只是将它放在后端的问题,请坚持使用 session.
重要:
您不能将 Socket
object 添加为 cookie 或 header。 Cookies 和 headers 是字符串。套接字 object 远不止于此,即使您可以对其进行序列化和反序列化,它也不会引用相同的资源 and/or 连接。
如果您想与客户端共享一个值(有意义的),您可以像这样将它添加到 cookie 中:
HttpContext.Response.Cookies.Append("first_request", DateTime.Now.ToString());
我看你已经知道怎么加了header,我就不进去了
如何将值保存在 cookie 或 header 而不是 session 中;
我不知道如何将套接字数据保存在 session 中。我试过了
Application["socket"]="127.0.0.1:3306";
没用
Session.Add("socket", sender);
Socket s = (Socket)Session["socket"];
try
{
if (Request.HttpMethod == "POST")
{
String status = Request.QueryString.Get("status").ToUpper();
if (status == "welcome")
{
try
{
String ipnum = "127.0.0.1".ToUpper();
int port = int.Parse("3306");
IPAddress ip = IPAddress.Parse(ipnum);
System.Net.IPEndPoint remoteEP = new IPEndPoint(ip, port);
Socket sender = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sender.Connect(remoteEP);
sender.Blocking = false;
Session.Add("socket", sender);
Response.AddHeader("stat", "hello");
}
catch (Exception err)
{
Response.AddHeader("warn", err.Message);
Response.AddHeader("stat", "FAIL");
}
}
else if (status == "goodbye")
{
try {
Socket s = (Socket)Session["socket"];
s.Close();
} catch (Exception err){
}
Session.Abandon();
Response.AddHeader("stat", "hello");
}
取决于它是什么、您想访问它的位置以及原因。如果只是将它放在后端的问题,请坚持使用 session.
重要:
您不能将 Socket
object 添加为 cookie 或 header。 Cookies 和 headers 是字符串。套接字 object 远不止于此,即使您可以对其进行序列化和反序列化,它也不会引用相同的资源 and/or 连接。
如果您想与客户端共享一个值(有意义的),您可以像这样将它添加到 cookie 中:
HttpContext.Response.Cookies.Append("first_request", DateTime.Now.ToString());
我看你已经知道怎么加了header,我就不进去了