62,243
社区成员




//一般处理程序
public void ProcessRequest(HttpContext context)
{
SetGoodsCookie(context);
//零时存储的table
DataTable dt = new DataTable();
DataColumn cell = new DataColumn("goodsId");
DataColumn cell1 = new DataColumn("goodsName");
DataColumn cell2 = new DataColumn("goodsImage");
DataColumn cell3 = new DataColumn("salePrice");
DataColumn cell4 = new DataColumn("html");
DataColumn cell5 = new DataColumn("scj");
dt.Columns.Add(cell);
dt.Columns.Add(cell1);
dt.Columns.Add(cell2);
dt.Columns.Add(cell3);
dt.Columns.Add(cell4);
dt.Columns.Add(cell5);
StringBuilder str = new StringBuilder();
//我估计是下面一块二次覆盖cookie的代码 出现的问题 因为第一次读取是好的 以后覆盖cookie记录操作之后就乱码了 我的网站本身是gb2312的 其他的没神马问题 应该不关这个的事。是不是cookie读取出来
if (context.Request.Cookies["meGoods"] != null)
{
HttpCookie cookie = context.Request.Cookies["meGoods"];
int myCookieCount = cookie.Values.Count;
for (int i = 0; i < myCookieCount; i++)
{
if (i > 4)
break;
DataRow row = dt.NewRow();
dt.Rows.Add(row);
string[] gsarr = cookie.Values[i].Split(',');
for (int n = 0; n < gsarr.Length; n++)
{
dt.Rows[i][n] = gsarr[n];
}
}
} str.Append("<h3>最近您看过</h3>");
str.Append("<ul class='ulHotGoodsItems'>");
foreach (DataRow row in dt.Rows)
{
str.Append("<li><a href='../../../files/template/" + row["html"].ToString() + "'>");
str.Append("<img alt='" + row["goodsName"].ToString() + "' ");
str.Append("src='../../../files/goodsMinItems/" + row["goodsImage"].ToString() + "' /></a><p class='gn'>");
str.Append("<a href='../../../files/template/" + row["html"].ToString() + "' title='" + row["goodsName"].ToString() + "'>" + CheckStr(row["goodsName"], 9) + "</a></p><p class='sc'><span>市场价:¥" + row["scj"] + ".00</span></p>");
str.Append("<p class='sj'>");
str.Append("<span>¥" + row["salePrice"].ToString() + ".00</span></p>");
str.Append("</li>");
}
str.Append(" </ul>");
context.Response.Write(str.ToString());
}
private void SetGoodsCookie(HttpContext context)
{
if (!string.IsNullOrEmpty(context.Request.Form["gid"]))
{
if (context.Request.Cookies["meGoods"] != null)
{
HttpCookie cookie = context.Request.Cookies["meGoods"];
HttpCookie cookie2 = new HttpCookie("meGoods");
int myCookieCount = cookie.Values.Count;
//二次写入cookie
if (myCookieCount < 15)
{
string cookValue = context.Request.Form["gid"] + "," + context.Server.UrlDecode(context.Request.Form["goodsTitle"]) + "," + context.Request.Form["gimg"] + "," + context.Request.Form["gsalePrice"] + "," + context.Request.Form["html"] + "," + context.Request.Form["scj"];
cookie2.Values.Add((myCookieCount + 1).ToString(), cookValue);
for (int i = 0; i < myCookieCount; i++)
{
cookie2.Values.Add(i.ToString(), cookie.Values[i]);
}
context.Response.Cookies.Add(cookie2);
}
}
//第一次写cookie
if (context.Request.Cookies["meGoods"] == null)
{
HttpCookie cookie = new HttpCookie("meGoods");
string cookValue = context.Request.Form["gid"] + "," + context.Server.UrlDecode(context.Request.Form["goodsTitle"]) + "," + context.Request.Form["gimg"] + "," + context.Request.Form["gsalePrice"] + "," + context.Request.Form["html"] + "," + context.Request.Form["scj"];
cookie.Values.Add("0", cookValue);
context.Response.Cookies.Add(cookie);
}
}
}
public string CheckStr(object obj, int num)
{
if (obj.ToString().Length > num)
{
obj = obj.ToString().Substring(0, num);
return obj.ToString();
}
else
return obj.ToString();
}
Encoding gb2312 = Encoding.GetEncoding("gb2312");
Response.ContentEncoding = gb2312;
newCookie.Value = Server.UrlEncode(username);
TimeSpan ts = new TimeSpan(14, 0, 0, 0);
newCookie.Expires = DateTime.Now.Add(ts);
Response.Cookies.Add(newCookie);
using System;
using System.Collections;
using System.Data;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Text;
namespace LetWeb.process
{
/// <summary>
/// $codebehindclassname$ 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class getSeeCookie : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentEncoding = Encoding.GetEncoding("gb2312");
context.Request.ContentEncoding = Encoding.GetEncoding("gb2312");
SetGoodsCookie(context);
DataTable dt = new DataTable();
DataColumn cell = new DataColumn("goodsId");
DataColumn cell1 = new DataColumn("goodsName");
DataColumn cell2 = new DataColumn("goodsImage");
DataColumn cell3 = new DataColumn("salePrice");
DataColumn cell4 = new DataColumn("html");
DataColumn cell5 = new DataColumn("scj");
dt.Columns.Add(cell);
dt.Columns.Add(cell1);
dt.Columns.Add(cell2);
dt.Columns.Add(cell3);
dt.Columns.Add(cell4);
dt.Columns.Add(cell5);
StringBuilder str = new StringBuilder();
if (context.Request.Cookies["meGoods"] != null)
{
context.Request.ContentEncoding = Encoding.GetEncoding("gb2312");
HttpCookie cookie = context.Request.Cookies["meGoods"];
int myCookieCount = cookie.Values.Count;
for (int i = 0; i < myCookieCount; i++)
{
if (i > 4)
break;
DataRow row = dt.NewRow();
dt.Rows.Add(row);
string cookieValue = context.Server.UrlDecode(cookie.Values[i]);
string[] gsarr = cookieValue.Split('|');
for (int n = 0; n < gsarr.Length; n++)
{
dt.Rows[i][n] = context.Server.UrlDecode(gsarr[n]);
}
}
}
str.Append("<h3>最近您看过</h3>");
str.Append("<ul class='ulHotGoodsItems'>");
foreach (DataRow row in dt.Rows)
{
str.Append("<li><a href='../../../files/template/" + context.Server.UrlDecode(row["html"].ToString()) + "'>");
str.Append("<img alt='" + context.Server.UrlDecode(row["goodsName"].ToString()) + "' ");
str.Append("src='../../../files/goodsMinItems/" + row["goodsImage"].ToString() + "' /></a><p class='gn'>");
str.Append("<a href='../../../files/template/" + context.Server.UrlDecode(row["html"].ToString()) + "' title='" + context.Server.UrlDecode(row["goodsName"].ToString()) + "'>" + context.Server.UrlDecode(CheckStr(row["goodsName"], 9)) + "</a></p><p class='sc'><span>市场价:¥" + row["scj"] + ".00</span></p>");
str.Append("<p class='sj'>");
str.Append("<span>¥" + row["salePrice"].ToString() + ".00</span></p>");
str.Append("</li>");
}
str.Append(" </ul>");
context.Response.Write(str.ToString());
}
private void SetGoodsCookie(HttpContext context)
{
Encoding gb2312 = Encoding.GetEncoding("gb2312");
context.Request.ContentEncoding = gb2312;
if (!string.IsNullOrEmpty(context.Request.Form["gid"]))
{
if (context.Request.Cookies["meGoods"] != null)
{
HttpCookie cookie = context.Request.Cookies["meGoods"];
HttpCookie cookie2 = new HttpCookie("meGoods");
int myCookieCount = cookie.Values.Count;
if (myCookieCount < 15)
{
string cookValue = context.Server.UrlDecode(context.Request.Form["gid"]) + "|" + context.Server.UrlDecode(context.Request.Form["goodsTitle"]) + "|" + context.Server.UrlDecode(context.Request.Form["gimg"]) + "|" + context.Server.UrlDecode(context.Request.Form["gsalePrice"]) + "|" + context.Server.UrlDecode(context.Request.Form["html"]) + "|" + context.Server.UrlDecode(context.Request.Form["scj"]);
context.Response.ContentEncoding = gb2312;
cookie2.Values.Add((myCookieCount + 1).ToString(), context.Server.UrlDecode(cookValue));
for (int i = 0; i < myCookieCount; i++)
{
cookie2.Values.Add(i.ToString(), context.Server.UrlDecode(cookie.Values[i]));
}
//cookie.Expires = DateTime.Now.AddDays(-1);
context.Response.Cookies.Add(cookie2);
}
}
if (context.Request.Cookies["meGoods"] == null)
{
HttpCookie cookie = new HttpCookie("meGoods");
string cookValue = context.Server.UrlDecode(context.Request.Form["gid"]) + "|" + context.Server.UrlDecode(context.Request.Form["goodsTitle"]) + "|" + context.Server.UrlDecode(context.Request.Form["gimg"]) + "|" + context.Server.UrlDecode(context.Request.Form["gsalePrice"]) + "|" + context.Server.UrlDecode(context.Request.Form["html"]) + "|" + context.Server.UrlDecode(context.Request.Form["scj"]);
context.Response.ContentEncoding = gb2312;
cookie.Values.Add("0", context.Server.UrlDecode(cookValue));
context.Response.Cookies.Add(cookie);
}
}
}
public string CheckStr(object obj, int num)
{
if (obj.ToString().Length > num)
{
obj = obj.ToString().Substring(0, num);
return obj.ToString();
}
else
return obj.ToString();
}
public bool IsReusable
{
get
{
return false;
}
}
}
}