[英]Classic ASP and COM debugging
我繼承了一個經典的ASP項目和一個隨附的VB6組件(ActiveX .dll)。
我希望能夠通過在我的機器上本地運行它來調試該組件。
我有一台Windows 7 Home Premium(64位)筆記本電腦。
我已在本地設置IIS 7.5(生產正在運行IIS5),但是,當我瀏覽到該站點(本地)時,我得到:
Active Server Pages error '00000000'
Create object failed
?
An error occured while create object 'OBJECTNAME'
Microsoft VBScript runtime error '800a01ae'
Class does't support Automation: 'ID of object in global.asa
我不是服務器人,所以我沒有很多設置IIS的經驗。 我想在本地設置這個項目,所以我可以使用調試器逐步調試COM對象。
我需要做些什么才能讓它運行起來?
就像一個FYI:
在global.asa中,我有以下內容:
<object runat="server" scope="session" id="ABC" progid="prjABC.clsABC"></object>
然后在ASP中我有以下調用:
if ABC.propertyName = True then
...
它失敗了。
聽起來您的站點運行的應用程序池配置為64位模式(默認值)。
右鍵單擊池並選擇“ Advanced Settings
,將其切換為32位:
將Enable 32-Bit Applications
為True
。
您可能還需要配置托管管道模式並將其設置為經典,並非所有經典ASP應用程序都在集成模式下運行。
如果您只需要調試組件,則可以更輕松地編寫使用此COM組件的COM應用程序。 特別是如果您擁有組件的源代碼,則可以從vb6組件項目中啟動測試應用程序作為調試應用程序。
雖然它是VB6,但你可能必須設置一個XP虛擬機才能運行visual studio 6.0(我從來沒能在6.0上運行)。 或者將組件升級到visual studio 2010。
如果要在64位環境中運行32位組件,則可以執行此操作。 設置IIS以允許運行32位組件的問題是你最終讓所有iis運行32位 - 如果它是一個網絡服務器意味着你運行的主應用程序是32位,所以降低了速度優勢64位機器。
要在64位IIS中運行32位組件,需要將其放在組件服務中。 開始 - >運行 - >“comexp.msc”運行組件服務。 然后向下展開樹直到找到COM + Applications,並創建一個新的空應用程序(所有默認設置都是如此)。 然后展開該應用程序並右鍵單擊組件,然后單擊“新建”>組件。 安裝新組件並選擇DLL。 這應該允許64位組件只使用32位組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.