ソケットやデータベースを使用するなど、いくつかの方法があります。最も簡単な方法 (安全ではありません) は、ファイルを使用してインスタンスの数を記録することです。これを改善することをお勧めします。
void WriteToFile(int x, int millisecondsTimeout) {
for(; ; Thread.Sleep(millisecondsTimeout))
try {
using(var file=File.Open("instances.bin", FileMode.OpenOrCreate)) {
var bytes=new byte[sizeof(int)];
file.Read(bytes, 0, sizeof(int));
var instances=x+BitConverter.ToInt32(bytes, 0);
if(instances>-1)
file.Write(BitConverter.GetBytes(instances), 0, sizeof(int));
break;
}
}
catch(IOException ex) {
}
}
void Increment() { // invoke on program starts
WriteToFile(1, 1000);
}
void Decrement() { // invoke on program exits
WriteToFile(-1, 1000);
}
ファイル"instances.bin"
は、サーバー上にあるファイルである必要があります。
AppDomain.CurrentDomain.UnhandledException
プログラムが予期せず終了した場合は、ハンドラーを作成することもできます。