20 // Methods
21 [AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal), SecurityPermission(SecurityAction.Demand, Unrestricted=true)]
22 public ISAPIRuntime();
23 public void DoGCCollect();
24 public override object InitializeLifetimeService();
25 /**//*處理請求的入口點方法,由isapi.dll以COM方式調用*/
26 public int ProcessRequest(IntPtr ecb, int iWRType);
27 internal static void RemoveThisAppDomainFromUnmanagedTable();
28 internal void SetThisAppDomainsIsapiAppId(string appId);
29 public void StartProcessing();
30 public void StopProcessing();
31 void IRegisteredObject.Stop(bool immediate);
32}
所以,一切都是從aspnet_isapi.dll以COM方式調用了一個ISAPIRuntime對象的ProcessRequest方法開始的?梢远嗵嵋痪涞氖,這種調用是異步的,也就是說,aspnet_isapi.dll在調用后會立即返回,但ECB會一直保留下來,直到整個請求被處理完畢之后再釋放。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/