asp.netÔËÐÐÔÀí
Ö÷ÒªÀࣺ
¡¡¡¡System.Web.HttpRuntime
¡¡¡¡System.Web.HttpApplicationFactory
¡¡¡¡System.Web.HttpApplication
¡¡¡¡System.Web.Compilation.BuildManager
¡¡¡¡System.Web.Compilation.ApplicationBuildProvider
¡¡¡¡System.Web.Compilation.BuildProvidersCompiler
¡¡¡¡System.Web.UI.PageHandlerFactory
¡¡¡¡ÇëÇó´¦Àí¼òÒªÁ÷³Ìͼ:
¡¡¡¡ÔĶÁ½¨Ò飺
¡¡¡¡ÓÃReflector¹¤¾ß±ß²é¿´ASP.NET 2.0µÄÔ´´úÂë±ßÔĶÁ¡£
¡¡¡¡·ÖÎö£º
µ±ÎÒÃÇͨ¹ýä¯ÀÀÆ÷ÏòASP.NET 2.0ÍøÕ¾µÄÒ»¸öasp.netÒ³Ãæ·¢ÆðÇëÇóʱ£¬ÔÚ·þÎñÆ÷¶ËÊ×ÏÈÊÇIISÊÕµ½ÇëÇó£¬IISÒ»¿´ÊÇasp.netÒ³Ã棬ÐÄÀïºÜ¿ªÐÄ£¬ÒòΪÕâ¸öÇëÇó²»ÓÃËü´¦Àí£¬½»¸øASP.NET ISAPI¾ÍÐÐÁË¡£ASP.NET ISAPIµÄ¹¤×÷Ò²±È½ÏÇáËÉ£¬ËûµÄÖ÷ÒªÈÎÎñ¾ÍÊÇ°²ÅÅaspnet_wp.exe´¦ÀíÇëÇ󣬲¢¼àÊÓaspnet_wp.exe½ø³ÌµÄÖ´ÐÐÇé¿ö£¬Èç¹ûaspnet_wp.exe½ø³ÌÌ«ÀÛÁË£¬²»ÄܳöÉ«µØÍê³ÉÈÎÎñ£¬ASP.NET ISAPI¾ÍÒªÈÃËûϸڣ¬»»Ò»¸öеÄaspnet_wp.exeÀ´´¦Àí¹¤×÷¡£
¡¡¡¡aspnet_wp.exeµÄÖ÷ÒªÈÎÎñÊǽ«ÇëÇ󽻸øһϵÁгÆΪµÄ HTTP ¹ÜµÀµÄÍйܶÔÏó¡£Èç¹û°ÑASP.NET ISAPI±È×öÏúÊÛ¾Àí£¬ÄÇaspnet_wp.exe¾ÍÊÇÉú²ú¾Àí£¬¶øHTTP ¹ÜµÀ¾ÍÊÇÉú²úµÄÁ÷Ë®Ïß¡£¸ºÔðÁ÷Ë®ÏßµÄС×é¾ÍÊÇHttpRuntime£¬Éú²ú¾Àíaspnet_wp.exe»á½«¶©µ¥(HTTPÇëÇó)½»¸øHttpRuntimeС×éµÄ¹¤×÷ÈËÔ±ProcessRequest(HttpWorkerRequest wr)£¬HttpRuntime¸ù¾ÝÄÚ²¿µÄ·Ö¹¤£¬×îÖÕÓÉProcessRequestInternal(HttpWorkerRequest wr)ÔÚÁ÷Ë®ÏßÉϽøÐÐÉú²ú£¬ËùÒÔProcessRequestInternal(HttpWorkerRequest wr)ÊÇÎÒÃÇ·ÖÎöµÄÖص㡣
¡¡¡¡ ProcessRequestInternalµÄÖ÷Òª¹¤×÷ÊÇ£º
¡¡¡¡1. ´´½¨HttpContextʵÀý¡£
¡¡¡¡2. ¶ÔµÚÒ»´ÎÇëÇó½øÐгõʼ»¯(EnsureFirstRequestInit)¡£
¡¡¡¡a) ÔÚEnsureFirstRequestInitÖÐͨ¹ýµ÷ÓÃSystem.Web.HttpRuntime.FirstRequestInit½øÐÐһЩ³õʼ»¯¹¤×÷£¬±ÈÈ磺½«Web.ConfigÅäÖöÁµ½µ½RuntimeConfigÖУ¬´ÓbinĿ¼ÖÐ×°ÔØËùÓÐdllÎļþ¡£
¡¡¡¡3. ´´½¨HttpWriterʵÀý¡£
¡¡¡¡4. ͨ¹ýµ÷ÓÃHttpApplicationFactory.GetApplicationInstance´´½¨HttpApplicationʵÀý¡£
¡¡¡¡ÔÚHttpApplicationFactory.GetApplicationInstanceÖÐÓÐÈý¸ö¹Ø¼ü·½·¨£º
HttpApplicationFactory._theApplicationFactory.EnsureInited();
HttpApplicationFactory._theApplicationFactory.EnsureAppStartCalled(context);
HttpApplicationFact
Ïà¹ØÎĵµ£º
×òÌìÓöµ½ÁËÒ»¸öСÎÊÌâ,Ìá½»±íµ¥µÄʱºò,ºǫ́µÄactionÖÐÑéÖ¤µÄ±íµ¥ÀïµÄ¿Ø¼þÖµ¾ÓÈ»ÊÇ¿ÕÖµ,µ÷À´µ÷È¥²»µÃÆä·¨.
ÎÒÔÚǰ̨µÄ±íµ¥Àï¿Ø¼þÓõÄÊDZê×¼html¿Ø¼þ
Ò³ÃæÉÏʹÓÃÏÂÃæÓï¾ä·¢ËÍform
<%using (Html.BeginForm("AddNewPicGroups", "MetaData")){ %>
ºǫ́ʹÓÃÈçÏÂÓï¾ä½ÓÊÕʱȴ½ÓÊÕ²»µ½Êý¾Ý
public ActionResult AddNew ......
¿´¹ý΢ÈíµÄÍøÕ¾ÓÐʱºò£¬ÊÇ.MSPXµÄÀ©Õ¹Ãû£¿ÆäʵÄãÒ²¿ÉÒÔÅäÖ㬺ܼòµ¥¡£Here We Go!
ÅäÖÃWEB.CONFIG£º
<system.web>
<compilation>
<buildProviders>
<add ......
ÔÚÔçÆÚѧϰc#µÄ¹ý³ÌÖУ¬¾³£Óöµ½ÕâÑùµÄÓï¾ä£º
public string StudentName
{
get{return stuName;}
set{stuName=value;}
}
µ±Ê±Ò²²»ÊǺÜÃ÷°×ΪʲôҪÕâÑù£¿Ñ§ÉîÁËc#ºó£ ......
ÔÚWeb.configÎļþµÄ <system.web></system.web>ÕâÁ½¸ö½ÚµãÖмä²åÈëÐèÒªÓ³ÉäµÄURL
<urlMappings enabled="true">
<add url="~/Óû§Òª·ÃÎʵÄÒ³Ãæ.aspx" mappedUrl="~/ÒªÖض¨Ïòµ½µÄÒ³Ãæ.aspx"/>
</urlMappings> ......
¿Í»§¶ËÑéÖ¤·½Ê½£º
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
&nbs ......