Asp.NET MVC 应用程序的 HttpHandler
对于一般的 ASP.NET WebForms 应用程序,网页派生自 Page 类,该类实现了 IHttpHandler,用于处理实际的 Web 请求。
在 ASP.NET MVC 中,网页基类是 System.Web.Mvc.ViewPage,它也派生自 Page 类,后者又实现 IHttpHandler。
但在 ASP.NET MVC Razor 中,“cshtml”文件派生自 System.Web.Mvc.WebViewPage,它实际上没有实现 IHttpHandler。
根据 IIS 架构,为了处理请求,类必须实现 IHttpHandler,但 Razor 视图引擎并非如此。怎么可能?
For general ASP.NET WebForms applications, the web page derives from Page class which implements IHttpHandler that servers actual web request.
In ASP.NET MVC the webpage base class is System.Web.Mvc.ViewPage that also derives from Page class which in turn implements IHttpHandler.
But in the ASP.NET MVC Razor, the "cshtml" file derives from System.Web.Mvc.WebViewPage which actually does not implement IHttpHandler.
According to IIS architecture, in order to process a request, a class must implement IHttpHandler but this not the case with Razor view engine. How could it be possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
请查看链接文本此备忘单。
ASP.NET MVC 不使用 WebForms IHttpHandler。它使用 MvcRouteHandler 中的 MvcHandler。
ViewPage 类在 ViewEngine 中调用。 MVC model2 架构风格不是页面控制器风格。
Look at link text this cheat sheet.
ASP.NET MVC not use WebForms IHttpHandler. It is using MvcHandler from MvcRouteHandler.
ViewPage class invoke in ViewEngine. MVC model2 architecture style is not Page Controller style.