2012-03-16 22 views
0

私はAsp.netのPDF作成者でC#を使って作業しています。私のコードでは、それはpdfファイルを作成した後、私は、フラッシュを使用してストリームライターを破棄し、ネスト関数で私は次の関数で同じファイルを開くときに私はブラウザのPDFビューアに表示するこの同じファイルを開いています。私のpdfの作成方法はスレッド化に使用され、pdfの読み込み機能は通常モードの機能です。Visual StudioのファイルプロセスをC#言語でチェックする方法は?

私の質問は、このPDFファイルがC#コードの別のプロセスで使用されていることを確認する方法です。なぜなら、非常に小さいpdfファイルを作成した場合、正常に動作しますが、その場合には5~10ページのpdfファイルを作成していると、エラーがスローされます。すなわちthe process cannot access the file because it is being used by another process

私は、そのファイルのプロセスモニタコードとそのプロセスを明示的に終了する方法をチェックしたいですか?

+0

あなたはPDFファイルを作成する他のプロセスを開始しますか? –

答えて

0

あなたがPDFを作成するプロセスを開始している場合は、ちょうどそれを待つと終了コードを確認し、当然のPDFが成功または何らかのエラーのために適切な終了コードを返す作成するプロセスは、ここにいくつかのサンプルコードの場合:

Process proc = Process.Start("createpdf.exe", "params"); 
proc.WaitForExit(); 
int result = proc.ExitCode; 
/// do something based on result 
は、
+0

ファイル上のすべてのプロセスを終了させるコードが必要ですか? –

+0

あなたが殺すつもりのプロセスが明らかにあなたを助けないPDFを生成するならば、より詳細な状況を記述してください –

0

StreamをFileShare.Readとして開くのは意味が分かりません(PDFが作成されていて、まだ表示できないため)。try ... catchだけストリームを開くことができます。

少なくともそれはどういう意味ですかthis popular thread seems to do it

+0

ファイル上のすべてのプロセスを終了するコードが必要ですか? –

+0

http://stackoverflow.com/questions/317071/how-do-i-find-out-which-process-is-locking-a-file-using-netおよびhttp://stackoverflow.com/questions/を参照してください。 177146/how-do-i-get-the-open-file-list-of-process-in-process-in-c – Jason

関連する問題