如何将用户百分比重定向到beta测试网站?

时间:2012-12-18 15:54:10

标签: c# .net asp.net-mvc-3 redirect beta

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

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

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

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

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

1 个答案:

答案 0 :(得分: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'
}  

}