我有一个带有查看主站点链接的移动站点。
默认情况下,当移动用户访问我的主站点时,它会检测到移动设备并重定向到移动站点。
一旦进入移动站点,如果用户随后单击“查看主站点”,它会创建一个 cookie 并重定向回主站点。主站点检测到 cookie,因此不会将它们重定向回来;它总是接受主站点作为他们的首选。
问题是,在主站点上,它可以检测到 cookie,但该值始终为 null,并且到期时间始终为 DateTime.MinValue。
移动网址 = mobile.mysite.co.uk
主站点 = mysite.co.uk
这是我的代码...
从移动站点链接到主站点
public ActionResult ViewMainSite()
{
string CookieValue = "Always Show the Main Site";
HttpCookie Cookie = new HttpCookie("ShowMainSite");
// Set the cookie value and expiry.
Cookie.Value = CookieValue;
Cookie.Expires = DateTime.Now.AddYears(1);
// Add the cookie.
Response.Cookies.Add(Cookie);
return Redirect("mainSiteURL");
}
主站点操作过滤器 - 检测移动用户
/// <summary>
/// Redirect If Mobile Action filter class
/// </summary>
public class RedirectIfMobile : ActionFilterAttribute
{
/// <summary>
/// override the OnactionExecuting Method
/// </summary>
/// <param name="filterContext"></param>
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// check to see if the have the main site cookie
var Cookie = filterContext.HttpContext.Response.Cookies.Get("ShowMainSite");
if (Cookie != null)
{
if (Cookie.Value == null || Cookie.Expires < DateTime.Now)
{
filterContext.HttpContext.Response.Redirect("MobileURL");
}
}
base.OnActionExecuting(filterContext);
}
}
任何人都可以看到为什么会这样吗?
任何帮助都是最受重视的。