VB .NET Framework 4を使用して構築された一連のFormsプログラムを監視するサービスを構築しました。これは、ファイル名がそれに応じて名前が変更される複数インスタンスのフォームプログラムです。フォームのプログラムが実行されていない場合、プロセスはプログラムを開始します。開いているプロセスに制限
Private Sub StartProcess(ByVal CommChannel As String, ByVal status As Integer)
Dim fileName As String = ServerConfig.OpcToDbFilePath & CommChannel & "\" & GetProcName(CommChannel)
fileName &= ".exe"
CopyFiles(fileName, CommChannel)
System.Threading.Thread.Sleep(200)
Try
If System.IO.File.Exists(fileName) Then
Dim opcProcess As New Process
Try
opcProcess.StartInfo.UseShellExecute = True
opcProcess.StartInfo.FileName = fileName
opcProcess.StartInfo.CreateNoWindow = True
opcProcess.Start()
System.Threading.Thread.Sleep(500)
Catch ex As Exception
...
End Try
Else
...
Catch ex As Exception
...
End Try
End Try
End Sub
これは、28日のプログラムが起動した後まで、素晴らしい作品。その後、私が予期せず起動しようとしているフォームプログラムが終了します。
開けられるインスタンスの数に制限がありますか?サービスとFormsプログラムはWindows Server Datacenter 2012上で実行されています。
サービスの複数のインスタンスを開いていると言っていますか?***他の多くの画面があり、1つのサービスだけで監視していますか?これは非常に幅広く(デバッグの手助けを求めています)、それは多くのことになります。見るべきコードがなければ、私たちは大いに助けにならないでしょう。この時点でゲームを推測する。閉鎖される前に質問を更新してください。 – Codexer
1つのサービスと複数のフォームアプリケーション。 – DMC
いいえ、ブレークポイントを設定しましたか、どんな種類のtry/catchブロックを実装して何が起こっているのかをトラップしましたか?プログラムが予期せず終了する以外は、あなたが試したことは言及していません...もしそうなら、エラーがスローされています。あなたはそれを飲み込んでいますか?***プログラムはそれを処理しています... – Codexer