像这样的代码:
if(Ituser.Itsun_Login())
{
try
{
HttpCookie MyCookie = new HttpCookie("myit");
System.Text.StringBuilder sbi = new System.Text.StringBuilder();
sbi.Append(this.txtName.Text.Trim().ToString());
sbi.Append("#");
sbi.Append(this.txtPas.Text.Trim().ToString());
MyCookie.Values.Add("value",sbi.ToString());
MyCookie.Expires = DateTime.Now.AddDays(1);

Response.Cookies.Add(MyCookie);

Session["UserName"]=Ituser.username;
Session["flag"]="mysession";
Response.Redirect("middle.aspx");
}
catch(Exception ex)
{
this.msg.Text="得到错误信息!" + ex.Message;
}
}
else
{
this.msg.Text="对不起,请输入正确的用户名与密码!";
}我在这样写的时候,进行测试,并登录到middle.aspx文件,(系统是win2003)但在这个目录(C:\Documents and Settings\Administrator\Cookies)下看不到自己所创建的cookie,是怎么回事?

解决方案 »

  1.   

    许多浏览器是把生命期局限在进程内的cookie保存在内存里,并不写入文件。
      

  2.   

    不过注意,在内存里并不代表这样安全,放拷贝。这只是加快了速度而已。要获得cookie,随便找一个网络抓包软件放在局域网上,从特定的http消息包中取出来就行了,谁还跑到用户机器上去拷贝呀。
      

  3.   

    sniffer、fiddler、spynet等,下一个用用,使用这些简单的软件可以让你几天学会过去好几年都稀里糊涂的网络通讯知识。仅仅用于http协议,使用fiddler比较简单。
      

  4.   

    Response.Cookies["User"]["UserName"] = UserNameText.Text;
                Response.Cookies["User"]["CompanyName"] = CompanyNameText.Text;
                Response.Cookies["User"]["PassWords"] = PassWordsText.Text;
                Response.Cookies["User"].Expires = System.DateTime.Now.AddDays(30)
    我这么写 就有Cookies的文件~~你看看~~