2

首先,我们使用的是 MVC 3、ASP.NET 4.0 和 Visual Studio 2010。

我们的目标是向公开测试版开放我们全新的网站。我们希望将缓慢增加的流量百分比重定向到我们的新站点,而其余流量则转到我们现有的站点...

我们希望通过负载均衡器来做到这一点,但由于资源、基础设施和时间的原因,这不再是一种选择。现在看来,我们唯一的选择就是通过软件来实现。

这里有人做过吗?你有好的策略或解决方案吗?

我们将有两个不同的 URL,如果需要,我们可以使用 cookie 来实现这一点。

4

1 回答 1

1

这相当简单,并且将按照用户被重定向到移动站点的相同方式完成。在 global.asax.cs 中实现 Application_PreRequestHandlerExecute

如果它们符合您决定的任何标准,请响应。重定向它们。我会在将要留在一个站点或下一个站点上的任何人身上存储一个 cookie,这样他们就不会在查看非 beta 站点的过程中被错误地重定向。这也不能处理人们不使用 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 回答