teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

文言の修正

2018/11/30 05:59

投稿

kenshirou
kenshirou

スコア772

answer CHANGED
@@ -3,7 +3,7 @@
3
3
  //変更した値をcsvファイルに書込
4
4
  using (FileStream fsw = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.Write))
5
5
  ```
6
- FileShare.Writeだと、このファイルへの他からの書き込みは許可するが、読取は許可しないことになりますので、FileShare.Read方が良いのではないかと思います。
6
+ FileShare.Writeだと、このファイルへの他からの書き込みは許可するが、読取は許可しないことになりますので、FileShare.Readにして読取を許可した方が良いのではないでしょう
7
7
  これであれば、FileSystemWatcherのイベントが発生した時点では、読取は許可されているので、例外の発生なく、読取モードで変更後の内容を得られるかも知れません。
8
8
 
9
9
  また、問題2については、私ならタイマーを使用してリトライさせます。

2

補足追加

2018/11/30 05:58

投稿

kenshirou
kenshirou

スコア772

answer CHANGED
@@ -1,4 +1,4 @@
1
- 問題1についてですが、そもそも、以下のコードのFileStreamコンストラクタの第4引数は正しいのでしょうか?
1
+ 問題1についてですが、そもそも、以下のコードのcsvファイル書込時のFileStreamコンストラクタの第4引数は正しいのでしょうか?
2
2
  ```C#
3
3
  //変更した値をcsvファイルに書込
4
4
  using (FileStream fsw = new FileStream(filePath, FileMode.Create, FileAccess.Write, FileShare.Write))

1

文言の修正

2018/11/30 05:57

投稿

kenshirou
kenshirou

スコア772

answer CHANGED
@@ -9,4 +9,4 @@
9
9
  また、問題2については、私ならタイマーを使用してリトライさせます。
10
10
  例外発生したら、タイマーをセットして、タイマーTickでリトライ。
11
11
  安全のため、何回かリトライしてもダメだったらメッセージを出して中断する、という感じです。
12
- タイマーのインターバルが1秒がいいのか、0.5秒がいいのかは実用的なものを選べばよいと思います。
12
+ タイマーのインターバルが1秒くらいがいいのか、0.5秒くらいがいいのかは実用的な程度にすればよいと思います。