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
Ïà¹ØÎĵµ£º
ÔÚWeb.configÎļþµÄ <system.web></system.web>ÕâÁ½¸ö½ÚµãÖмä²åÈëÐèÒªÓ³ÉäµÄURL
<urlMappings enabled="true">
<add url="~/Óû§Òª·ÃÎʵÄÒ³Ãæ.aspx" mappedUrl="~/ÒªÖØ¶¨Ïòµ½µÄÒ³Ãæ.aspx"/>
</urlMappings> ......
Form ±íµ¥£ºÒ»¸öÒ³ÃæÖ»ÄÜÓÐÒ»¸ö
runat=“server”²»ÊDZØÐëµÄ£¬¼ÓÉϺ󣬻áÔÚÊä³öµÄÔ´´úÂëÀï¶àÁËÒ»ÐÐ
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzgzNDMwNTMzZGR/8ZxOm5Tn0sfHNJaqE12hKqqJTQ==" />
ºÙ£¬Õâ²»¾ÍÊÇ´«ËµÖеÄviewstateÂð¡£ÔÀ´Õâ¾ÍÊÇ.netÖеÄFORM¸úHTMLÖÐF ......
´Ë´¦ÌṩµÄ´úÂëÓÃÀ´ÊµÏÖµ±asp.netÒ³ÃæÖеÄij¸öButton±»µã»÷ºódisableµô¸ÃÒ³ÃæÖÐËùÓеÄButton£¬´Ó¶ø·ÀÖ¹Ìá½»ÑÓʱµ¼ÖµĶà´ÎÌá½»¡£»ùÓÚ֮ǰµÄonceclickbutton½Å±¾.
//ASP.NETÖзÀÖ¹Ò³Ãæ¶à´ÎÌá½»µÄ´úÂë:javascript< script language="javascript"> < !-- function disableOtherSubmit() {
var obj = event.srcElem ......
ÔÚasp.netÖÐÓÃjs¿ØÖƵ¯³öÒ»¸öģ̬´°¿Ú£¬Ä£Ì¬´°¿ÚÈ´²»ÄÜ·ÖÒ³¡£µ¥¶ÀÔËÐдËÒ³·ÖҳЧ¹ûÊÇ¿ÉÒÔ´ïµ½µÄ¡£
Îҵĵ¯³öģ̬´°¿ÚµÄ´úÂëÊÇ£º
var param=window.showModalDialog("../StorageList.aspx",null,"height=100px;width=950px;status=yes;toolbar=no,location=nu");
²»ÖªµÀΪʲô»á³öÏÖÕâÖÖЧ¹û£¿
½â¾ö·½·¨ÊÇÔÚÒªµ¯³öµÄģ̬´ ......