我正在開發一個windows服務中的geniune頻道的服務器,它似乎並不像控制檯應用程序那麼簡單。當創建服務器的線程完成其作業時,線程作用域中聲明的所有變量都將被銷燬,因此客戶端無法再連接到該服務器。使用控制檯應用程序,我們可以通過console.readline()來避免這種情況,但對於Windows服務來說情況並非如此。因此,第一個代碼塊用於創建服務器的Windows服務線程,第二個代碼塊用於控制檯應用程序。Windows服務中的Geniune頻道服務器?
public void startServer()
{
System.Configuration.ConfigurationSettings.GetConfig("DNS");
GenuineGlobalEventProvider.GenuineChannelsGlobalEvent += new GenuineChannelsGlobalEventHandler(GenuineChannelsEventHandler);
var Path = AppDomain.CurrentDomain.BaseDirectory;
RemotingConfiguration.Configure(Path + "Server.exe.config");
RemotingServices.Marshal(new Agent(), "Server.rem");
}
static void Main(string[] args)
{
System.Configuration.ConfigurationSettings.GetConfig("DNS");
GenuineGlobalEventProvider.GenuineChannelsGlobalEvent += new GenuineChannelsGlobalEventHandler(GenuineChannelsEventHandler);
var Path = AppDomain.CurrentDomain.BaseDirectory;
RemotingConfiguration.Configure(Path + "Server.exe.config");
RemotingServices.Marshal(new Agent(), "Server.rem");
Console.ReadLine();
}
我錯過了什麼嗎?我怎樣才能實現服務器的可用性?
這裏的問題是...? –
嗨,我編輯問題:)! –