Warum hat die Controller-Aktion HttpRequestBase und die Ansichtsseite hat HttpRequest?

8

Meine Methoden verwenden HttpRequestBase als Argument, und ich finde es seltsam, warum die Aktionen in Controllern Zugriff auf HttpRequestBase haben, aber die Ansichtsseite HttpRequest hat.

Gibt es einen Grund dafür oder etwas, das nicht durchdacht wurde?

    
Blankman 01.02.2010, 21:01
quelle

2 Antworten

5

Seiten zum Anzeigen haben Zugriff auf den MVC HttpContext über ViewContext.HttpContext , was ein HttpContextBase ist.

Der scheinbar doppelte Zugriff ist nur auf die Funktionsweise von ASP.Net zurückzuführen. Wenn Sie Request.HttpContext betrachten, ist dies die Injektion der ursprünglichen HttpContext in die ASP.Net-Pipeline. Dies ist in jedem beliebigen HttpHandler verfügbar, unabhängig davon, ob es sich um einen MVC-Controller oder eine MVC-Ansicht oder eine WebForms-Seite oder AschX handelt.

    
womp 01.02.2010, 21:07
quelle
2

ViewPage erbt von System.Web.UI.Page und ich bin ziemlich positiv, dass alle HttpRequest-Mitglieder davon geerbt werden:

Ссылка

    
jfar 01.02.2010 21:07
quelle

Tags und Links