要運行 Web 應用程序,需要將其安裝在一個名為 ManagedExceptionWebApp 的新的虛擬目錄中。需要生成 .NET 程序集,將其復制到應用程序文件夾中,并且使用 regasm 向 COM Interop 注冊。還需要將異常塊程序集 Microsoft.ApplicationBlocks.ExceptionManagement.dll 和 Microsoft.ApplicationBlocks.ExceptionManagement.Interfaces.dll 復制到該文件夾中。(請注意,需要使用 InstallUtil 實用工具安裝 Microsoft.ApplicationBlocks.ExceptionManager.dll 程序集,以便在從 ASP 頁中使用它之前,注冊多個不同的事件源。)如果該操作未獲執行,則 ASP 應用程序將嘗試在事件源被首次引用時創建它們,并且在某些配置中,這可能導致安全異常,原因是匿名用戶不具有創建事件源的權限。一個名為 RegisterTypeLibs 的文件從調試文件夾中復制這些程序集,并且向 COM Interop 注冊它們。
創建 .NET 組件的 CLR 宿主的應用程序文件夾將是 \system32(當 dllhost 被用于將保護級別設置為“中”或“高”的應用程序時)或 \system32\inetsrv(當應用程序的保護級別為“低”時)。相應的配置文件將因此稱為 dllhost.exe.config 和 inetinfo.exe.config(如果需要運行庫配置)。
返回頁首
小結
在本文中,我已經討論了能夠在引發異常時截獲 .NET 運行庫 CCW 調用的對象的設計和實現。這可以提供連續的異常日志記錄,而無需對 .NET 組件進行任何更改。我還分析了我在嘗試生成能夠在生產環境中正常工作的健壯解決方案時遇到的各種問題。
Framework 不僅向您展示了多種低級別技術(例如,將工作掛鉤和調度到隊列中),而且它還通過生成您可以直接在自己的應用程序中廣泛應用的有用組件完成了相應工作。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/