--/--/-- --:--
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2010/10/20 10:48
誰かが既に開いてるファイルをアップロードしようとする時、
別プロセスで開いているので開けませんよ、というエラーを出す処理。
以下サンプルコード
*********************************************
try{
FileStream fs = new FileStream(strFilePath, FileMode.Open, FileAccess.Read, FileShare.Read);
fpSpread.OpenExcel(fs);
fs.Close();
}catch(Exception ex){
String errMsg = "ファイルが別のプロセスで使用中のため、オープンできません。";
}
*********************************************別プロセスで開いてても問答無用で開きたい、って場合には
FileShareをReadWriteにしてやれば無理やり開ける。
けどこの場合保存が競合したときとかはちょっと挙動が謎になるなあ。
fsはきちんとCloseしておかないと、あとでファイルをDeleteしようとした時に
プロセスが掴んでて落ちる。
ちなみにこの方法だと、他の理由でエラーがででも全て別プロセスのせいになってしまうので
きちんとログを吐き出すようにしといたほうがいいかも。