2

まず、MVC 3、ASP.NET 4.0、およびVisualStudio2010を使用しています。

私たちの目標は、新しいWebサイトをオープンベータ版に公開することです。トラフィックのゆっくりと増加する割合を新しいサイトにリダイレクトし、残りのトラフィックは既存のサイトにリダイレクトしたいと考えています...

ロードバランサーを介してこれを実行することを望んでいましたが、リソース、インフラストラクチャ、および時間のために、これはもはやオプションではありません。今のところ、私たちの唯一の選択肢はソフトウェアを介してそれを行うことだと思われます。

ここで誰かがこれをしましたか?良い戦略や解決策はありますか?

2つの異なるURLがあり、必要に応じてCookieを使用してこれを実現できます。

4

1 に答える 1

1

これは非常に単純で、ユーザーがモバイル サイトにリダイレクトされるのと同じ方法で行われます。global.asax.cs に Application_PreRequestHandlerExecute を実装する

それらがあなたが決定した基準に適合する場合は、Response.Redirect します。あるサイトまたは次のサイトにとどまる人に Cookie を保存して、ベータ版以外のサイトを表示しているときに誤ってリダイレクトされないようにします。これは、Cookie を使用していない人の場合も処理しません。

これは疑似コードであるため、100% 正しいとは限りません。


protected void Application_PreRequestHandlerExecute(object sender, EventArgs
e)
{

if(Request.Cookies["BetaResult"] == null)
{
   var  cookie = new HttpCookie("BetaResult");
   cookie.Expires = DateTime.Now.AddDays(1d);
   if(whatever logic to redirect to beta)
   {
       cookie["BetaResult"] = "Beta";
       Response.Cookies.Add(cookie);
       Response.Redirect("your beta site");
   }
   else
   {
       cookie["BetaResult"] = "Main";
       Response.Cookies.Add(cookie);
   }

}
else
{
  //if cookie value is beta, redirect to beta site, they 'are a chosen one'
}  

}
于 2012-12-18T17:34:57.340 に答える