メイン サイトを表示するためのリンクを含むモバイル サイトがあります。
デフォルトでは、モバイル ユーザーがメイン サイトにアクセスすると、モバイル デバイスが検出され、モバイル サイトにリダイレクトされます。
モバイル サイトでユーザーが [メイン サイトを表示] をクリックすると、Cookie が作成され、メイン サイトにリダイレクトされます。メイン サイトは Cookie を検出し、その結果、それらをリダイレクトしません。優先する選択肢として常にメイン サイトを受け入れます。
問題は、メイン サイトで Cookie を検出できることですが、値は常に null であり、有効期限は常に DateTime.MinValue です。
モバイル URL = 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);
}
}
なぜこれが起こっているのか誰にもわかりますか?
どんな助けも最も感謝しています。