我遇到了一個我似乎無法解決的問題。背景:多年前,我爲使用ASP 2.0和Ajax的客戶開發了一個網站。網站的一項功能是根據需要生成客戶發票。他們的內部生產系統是在Visual Foxpro 8中用SQL Server 2005編寫的。由於我已經有了一個可生成PDF文件的發票生成對象,因此我捲起了一個COM EXE並創建了一個COM包裝器,用於我的ASP頁面。它工作很多年了,但現在我們正試圖將頁面移到不同的位置,並且事情並沒有那麼好。移動到新服務器時COM互操作失敗
網絡技術人員重新制作了環境,網站的其他部分完美運行。我甚至可以實例化COM對象(我記錄了init,一切都很好),但是第一次調用其中一個對象方法會導致「異常來自HRESULT:0x80010105(RPC_E_SERVERFAULT))」。我只是被卡住了!
這裏是沒有問題:
1)來自同一服務器使用的Visual FoxPro程序,我可以實例化對象,調用生成發票方法生產的PDF - 沒有任何問題。
2)從一個非常簡單的ASP頁面使用VBScript,我可以使用Server.CreateObject()來實例化對象,併成功地從那裏生成發票。
到目前爲止,我知道:
1)對象已正確註冊,並推出爲正確的用戶,所有做它的業務所需的權利。
2)COM EXE和COM對象版本的包裝匹配。
我很抱歉這麼長的帖子。長話短說:爲什麼在實例化成功後,ASP.NET無法調用VFP COM對象的任何方法?
在此先感謝 - 我嚴重卡在這一個。
埃裏克
謝謝你的回覆!我將它編譯爲COM EXE –
@Erik F,查看修改後的評論 – DRapp
經過研究這個問題後,我找到了解決辦法。將COM對象添加到數據執行預防(DEP)例外列表允許進行方法調用,並且再次適用於全球。 謝謝你的時間和關注 - 真的很感謝! –