ASP.NET MVC如何连接到ASP.NET?
我试图更好地了解ASP.NET和ASP.NET MVC背后的“
plumbing”.我一直在阅读
this page,这帮助了很多.从我迄今为止所了解的每个ASP.NET网站都有一个继承自System.Web.HttpApplication的类.然后HttpApplication会有一系列触发HttpModules和HttpHandler的事件,如BeginRequest,AuthorizeRequest,End Request等等.然后HttpModules和HttpHandlers会从当前的HttpContext读取和写入.
ASP.NET如何知道使用什么HttpApplication类?我的应用程序在Global.asax文件中具有典型的MvcApplication类.但是我在这个类中没有看到有关MVC的内容.在任何将此类分配为“应用程序”的地方,我也看不到任何设置. ASP.NET只是总是寻找一个名为Global.asax的文件来弄清楚要创建的HttpApplication类?或者ASP.NET只是在我的程序集中寻找继承自HttpApplication的任何类? 另外,它如何知道要使用的模块和处理程序?我上面提到的页面指出了web.config中的处理程序和模块以及设置.但是我的ASP.NET MVC应用程序在其web.config中没有这些设置? 如果我在我的一个动作方法中设置了一个断点,并检查HttpContext.Current.ApplicationInstance.Modules,我看到以下内容: OutputCache Session WindowsAuthentication FormsAuthentication PassportAuthentication RoleManager UrlAuthorization FileAuthorization AnonymousIdentification Profile ErrorHandlerModule ServiceModel UrlRoutingModule-4.0 ScriptModule-4.0 __DynamicModule_System.Web.WebPages.WebPageHttpModuleDefaultAuthentication 这些指定在哪里?同样,如果我检查HttpContext.Current.Handler我可以看到它设置为System.Web.Mvc.MvcHandler. 解决方法
当第一个用户访问您的网站时:
1)它加载由应用程序承载的所有web.config所指定的所有Http模块. 2)如果系统启用了ASP.NET MVC,则global web.config会将 现在,您在global.asax(如标准MvcApplication)中从HttpApplication派生的类被编译到dll中.铭记这一点… 5)ASP.NET运行时扫描YourApplication.dll以获取源自HttpApplication的类,并执行其许多方法(例如Application_Start). 6)当使用惯用的ASP.NET MVC MapRoute扩展方法创建路由时,它将该路由与 7)UrlRoutingModule(从步骤2)使用routing handler来选择ASP.NET将用于处理该路由上的传入请求的http处理程序. 你可以找到the full story here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 如何将下拉列表添加为gridview项
- asp.net – 使用Session来存储身份验证?
- asp.net-core-mvc – Identity 3.0当id为“int”时通过id获
- asp.net-mvc-2 – iframe,跨域Cookie,p3p策略和safari,其中
- ASP.NET中自动HtmlEncode
- asp.net-mvc – Ninject和连接字符串
- asp.net – 调用Web服务提供“无法连接到远程服务器错误”
- 谈谈IE针对Ajax请求结果的缓存
- 如何在asp.Net中的脚本标签上使用runat =“server”
- asp.net-mvc-2 – 使用routeValue从MVC URL中删除索引
- asp.net-mvc – ASP.NET MVC RememberMe
- asp.net-mvc-3 – 同一页面中的两个ValidationSu
- asp.net – MVC 3部署到IIS6
- 优化 – 字典/客户端VS应用程序变量
- asp.net – 如何连接到本地SQL Server数据库?
- jQuery validate 根据 asp.net MVC的验证提取简单
- ASP.NET – 主页面中的更新面板,内容页面中的刷新
- asp.net – __ doPostBack()之后的回调?
- asp.net-mvc – 在Mono 2.4上使用Microsoft Data
- asp.net-mvc – 在MVC 3 RC中实现TransferResult