Кажется, что ASP.NET MVC просто работает поверх ASP.NET WebForms.System.Web.Mvc.ViewPage в ASP.NET MVC наследуется от System.Web.UI.Page, который включает в себя методы жизненного цикла страницы, такие как OnRender и друзья.
Я видел несколько комментариев по всему Интернету по поводу эффектачто вы должны противостоять желанию переопределить эти методы ВСЕ СТОИМОСТЬ !.Конечно, это означает, что я обнаружил, что сопротивляюсь побуждению сделать именно это.
Неужели так много неправильного в следующем:
public class SslPage : ViewPage
{
protected override void OnPreInit(EventArgs e)
{
// Make sure we are using SSL
string url = HttpContext.Current.Request.Url.ToString();
if(url.StartsWith("http:"))
{
HttpContext.Current.Response.Redirect("https" + url.Remove(0, 4),false);
}
// Back to our regularly scheduled programming...
base.OnPreInit(e);
}
}
Можно спорить о чистотепомещая это в «представление», но это кажется вполне целесообразным.
Насколько опасно / кощунственно игнорировать эти методы?Когда это может иметь смысл?