是否可行 - 最佳做法明智 - 使用第二層重定向用戶?三層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