Windowsサービスでgeniuneチャンネルのサーバーを開発中ですが、コンソールアプリケーションほどシンプルではないようです。サーバーを作成するスレッドがジョブを終了すると、スレッドスコープで宣言されたすべての変数が破棄され、クライアントはそのサーバーにもう接続できなくなります。コンソールアプリケーションでは、console.readline()を使用して回避することができますが、Windowsサービスの場合と同じではありません。したがって、最初のコードブロックは、サーバーを作成するWindowsサービススレッドのためのもので、もう1つはコンソールアプリケーションのためのものです。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();
}
私は何かを欠場しましたか?どのようにしてサーバーの可用性を達成できますか?
ここの質問は...? –
こんにちは、私は質問を編集:)! –