2011-01-20 34 views
0

我有一個遠程對象託管在一個窗口服務,可能需要一點時間來初始化。問題在於第一個客戶端請求大多失敗,因爲它需要很長時間,但以下請求成功。我想知道是否有辦法在啓動服務時立即創建遠程對象。這裏是服務的的OnStart(代碼):.NET Remoting:如何在服務器上立即激活(遠程)對象?

ChannelServices.RegisterChannel(new HttpChannel(8080), false); 
    RemotingConfiguration.RegisterWellKnownServiceType(typeof(MyService), "MyService", WellKnownObjectMode.Singleton); 

回答

0

你可以有你的服務的OnStart產卵的過程,做了null事務 - 這是無害的,它有其他沒有任何作用,而不是強制遠程對象的創建。

你可以做的另一件事是啓動處理執行所有昂貴的初始化並將結果保存在某個對象中。遠程對象的初始化將僅僅是初始化對該預構造對象的引用。我想你可以說,遠程對象作爲你在啓動時構建的對象公開的方法的代理。我記得(自從我玩過遠程處理已經有一段時間了,所以我可能是錯的),服務本身不可能作爲客戶端並調用來初始化遠程對象。

+0

Jim。你的提示很棒!非常感謝! – newman 2011-01-21 00:43:41

相關問題