当前位置:编程学习 > C#/ASP.NET >>

C# Winform取session值的问题??

程序现在已经取得session的值了,奇怪的是session的值全是乱码?请问session的值是不是ASCII格式的?如何转成正常的字符串格式呢?
以下 是取session的代码,请高手指点~

void st(string Url)
        {
            string strResult = string.Empty;
            CookieContainer cc = new CookieContainer();
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
            request.CookieContainer = new CookieContainer();


            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            cc.Add(response.Cookies);
            Stream streamReceive = response.GetResponseStream();
            Encoding encoding = Encoding.GetEncoding("gb2312");
            StreamReader streamReader = new StreamReader(streamReceive, encoding);
            strResult = streamReader.ReadToEnd();
            string str="";

            foreach (Cookie c in response.Cookies)
            { str += "NAME: " + c.Name + "   Value: " + c.Value + "||"; }
            MessageBox.Show(str);

--------------------编程问答-------------------- 没人帮忙吗? --------------------编程问答-------------------- winform用session啊.......帮顶............... --------------------编程问答-------------------- 试试UTF8 --------------------编程问答-------------------- 额。。关于Winform用Session我还没见过。。真的, 你这个想法好,不过我的建议是传给全局类更好点。到时候你直接调用即可。 --------------------编程问答-------------------- 我觉得应该先根据http应答的http头来判断编码
  string characterSet = response.CharacterSet;
            Encoding encode;
            if (characterSet != "")
            {
                if (characterSet == "ISO-8859-1")
                {
                    characterSet = "gb2312";
                }
                encode = Encoding.GetEncoding(characterSet);
            }
            else
            {
                encode = Encoding.Default;
            }
--------------------编程问答-------------------- HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();   

CookieCollection myCookieCollection = myHttpWebResponse.Cookies;   
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("");
request.CookieContainer = new CookieContainer();
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
response.Cookies = request.CookieContainer.GetCookies(request.RequestUri);
foreach (Cookie cook in response.Cookies)
{
}  

CookieContainer myCookieContainer = new CookieContainer();   
string cookieStr = webBrowser1.Document.Cookie;   
string[] cookstr = cookieStr.Split( '; ');   
foreach (string str in cookstr)   
{   

}   
--------------------编程问答-------------------- --------------------编程问答-------------------- win用session?
新手不太理解。
求指教 --------------------编程问答-------------------- 吓我一跳,还有人在winform中“取session值”?看了帖子才知道,原来是打印cookie文本啊。

cookie中只有一个sessionid编号,而Session集合里边的对象都在网站的内存中(或者在状态服务器中等等),跟客户端没有关系。 --------------------编程问答-------------------- 另外要注意,除非你有十分的理由,否则不要使用gb2312。 --------------------编程问答-------------------- SESSION是存放在服务器端的,COOKIE是存放在客户端的。 --------------------编程问答--------------------
引用 11 楼 mizuho_2006 的回复:
SESSION是存放在服务器端的,COOKIE是存放在客户端的。
++ --------------------编程问答-------------------- cookie中只有一个sessionid ID,不是Session值,
如果你想更深入点的话可以看看这个文章http://www.cnblogs.com/sufei/archive/2011/05/22/2053642.html --------------------编程问答-------------------- --------------------编程问答-------------------- 猛一说session,想起b/s里的session...
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,