是否可行 - 最佳做法明智 - 使用第二层重定向用户?三层Web应用程序
例如:
public static void ForceLogin()
{
HttpCookie cookie = HttpContext.Current.Request.Cookies[cookieName];
if (cookie != null)
{
if (Regex.IsMatch(cookie.Value, "^[0-9]+\\.[a-f0-9]+$"))
{
using (EibxDataContext db = new EibxDataContext())
{
int count = db.Logins.Count(l => l.Password == cookie.Value);
if (count == 1)
{
return;
}
}
}
}
HttpContext.Current.Response.Redirect("~/Login.aspx");
}
在最后一行,我用的是商业/业务逻辑层将用户重定向到登录页面。
这应该在Presentation层完成吗?
也许不是“演示”,但重定向/路由仍然是一个“用户界面”问题,不一定是您的服务代码的工作。为什么要知道关于网络服务器呢? – 2008-12-27 17:17:03
同意马克。不是downvoting(显然OP喜欢这个答案),但我不想要除演示文稿处理重定向以外的任何层。这完全是UI的概念。让业务层返回登录失败的结果,并让UI找出要执行的操作。 – 2008-12-27 17:22:28