2012-02-27 65 views
0

我正在關注vfp網絡服務漫步。但是當我在任務窗格中測試結果時收到錯誤。原因是:班級未註冊vfp網絡服務

錯誤:1429 - 來自WSDLOperation的OLE IDispatch異常代碼0:WSDLOperation:實例化方法xxxx的調度對象失敗HRESULT = 0x80040154:類未註冊。

xxxx是我的方法。

我註冊了dll並在IIS中設置了授權。

有什麼建議嗎?

回答

0

聽起來像VFP模塊編譯時,「OlePublic」類實例從未正確放入Windows註冊表。有時,如果您不是在管理級別允許寫入註冊表,VFP將不會註冊。如果是這種情況,請確保在編譯應用程序之前將VFP作爲「Admin」用戶啓動。

另外,您是否將它構建爲單線程或多線程DLL實例?此外,如果您右鍵單擊項目的/「項目信息」,然後單擊「服務器」選項卡,它應顯示您的所有OlePublic類。什麼是「Instancing」設置...單個/多個?

此外,它可能是一個「權限」的事情。如果你試圖加載它的服務(即:ASP.NET用戶帳戶或類似的),並且該用戶沒有權限和/或訪問該文件,那麼它將不允許創建該對象。

要只是測試對象是否在註冊表或沒有,你總是可以只啓動VFP的實例,並在命令窗口,嘗試做一個

objTesting = CREATEOBJECT(「YourClass.YourObject」 )

如果它以這種方式工作,那麼我會更多地查看權限大道。

的後續

@wongchungyie,我不知道,如果這是問題或沒有,但更可能的權限。有一次,當改變開發機器時,我也嘗試創建一個OlePublic COM服務器類的實例。爲了確保問題是什麼,我開始在VFP一個簡單的程序,沒有沒有,但

set procedure to YourClassThatHasOlePublic 
set step on 
o = createObject("YourOlePublicClass") 

那麼,作爲「創建對象」是要通過所有的初始化,您可能會發現一些「路徑」是不可用的,或權限,或其他...找到並修復該元素,我能夠繼續爲我的客戶工作。

希望這能給你一些工作。

+0

它是多線程的......你能告訴我它是否正確嗎?單個/多重效果我的項目如何?感謝您的幫助。 :) – 2012-02-28 05:20:47

+0

@wongchungyie,看修訂/擴大答案。 – DRapp 2012-02-28 12:21:17