首先,我们使用的是MVC 3,ASP.NET 4.0和Visual Studio 2010。
我们的目标是将我们全新的网站开放给公开测试版。我们希望将缓慢增加的流量百分比重定向到我们的新网站,而其余流量则转到我们现有的网站...
我们希望通过负载均衡器来实现这一目标,但由于资源,基础设施和时间的原因,这不再是一种选择。现在似乎我们唯一的选择是通过软件来做。
有人在这做过吗?你有一个好的策略或解决方案吗?
我们将有两个不同的URL,如果需要,我们可以使用cookie来实现此目的。
答案 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'
}
}