我有一個C庫封裝在C庫上。 在C庫中我有一個函數,它將回調作爲輸入。 在C#中我有像委託一樣的公開回調。如何調用c中的遠程調用回調#
在正常模式下一切正常,但當我嘗試在遠程處理模式下調用相同的功能時,它會發出異常,如 無法加載文件或程序集。 我的遠程處理方案就像
1)SharedLib:我有一個C#共享庫,它具有通過C函數進行封裝的函數。 所有功能都在這個庫中定義。
2)服務器的控制檯應用程序服務器的角色是從Shredlib獲取會話,並打開一個端口,以便客戶端向服務器會話
3)客戶端控制檯應用程序:客戶端收聽由服務器打開的端口,並獲取會話對象來自server.It在sharedlib中定義了一個與delegate具有相同簽名的函數。會話對象client從sharedLib調用方法,它將回調作爲輸入。 具有相同簽名(如委託)的方法的客戶端傳遞地址來自sharedLib的方法,該方法需要回調作爲輸入。
之後,我收到異常,如「無法加載文件或程序集」。
如果我將null傳遞給以回調作爲輸入的參數,那麼在遠程處理模式下一切也都正常工作。 所以任何人都可以在遠程模式下使用回調。
看一看'System.CrossAppDomainDelegate' – leppie