2008/03/19

ASP與ASP.NET在Cookie互通上遇到的問題

現在工作的平台上有asp與asp.net程式並存,
因此也會有cookie互通上的問題,這幾天在傳Cookies值時,由asp.net產生的cookie在asp上可以正確的讀取,
但在asp產生的cookie卻一直抓取不到...
直到看了這篇文章才了解,原來有urldecode的問題..= =

ASP与ASP.NET互通COOKIES的一点经验-ASP.net技术

不只是中文亂碼,像是一些特殊符號也會出錯...
例如在asp上Response.Cookies("jesse_wang"),
在aspx上寫Request.Cookies["jesse_wang"]是行不通的,因為cookie的名稱會變成jesse_%5Fwang,
用for迴圈跑一之所有的cookie就可以看出來了,我是因為平台上太多cookie一時不查才沒有想到...浪費了不少時間。

所以,不管如何,如果在aspx上要接收asp的cookie,只好這樣作了



for (int z = 0; z < Request.Cookies.Count; z++)
{
HttpCookie cookie =
System.Web.HttpContext.Current.Request.Cookies[z];

if (HttpContext.Current.Server.UrlDecode(cookie.Name).Equals("pay_chkimghash"))
{
Response.Write(cookie.Value);
break;
}

}

應該會有更好的作法吧,沒時間研究了,將就點用....= =

軟體工程的重要的指標