• ベストアンサー

ASP.NETでのファイル排他制御について

ASP.NETでのファイル排他制御に関しての質問です。 あるアプリケーションでローカルリソースファイルおよびXMLファイルの更新等を行います。 アプリケーションは複数の起動が可能です。 ローカルリソースファイルおよびXMLファイルの排他制御は可能でしょうか? 可能な場合、ファイルおよびレコード単位で可能でしょうか? この辺のプログラミングについてご教授お願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ape5
  • ベストアンサー率57% (85/148)
回答No.1

以下のようにすると排他制御ができるようです。 ポイントはFileShare.Noneとすると排他です。 ---------------------------------------------- FileInfo f = new FileInfo(@"C:\hoge\hoge.txt"); FileStream s = f.Open(FileMode.Open, FileAccess.ReadWrite, FileShare.None);

mn753
質問者

お礼

回答ありがとうございます。 教えて頂いた方法で試してみます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 排他制御について

    質問があります。 Access2003とSQLserver2005の排他制御についてです。 複数のPCから共有してアクセスし、レコード単位に排他制御したいといった場合、 排他制御に適しているのはどちらでしょうか? 「Accessではこういう問題があり適さない」などあったら教えてください。 よろしくお願いします。

  • 排他制御の方法

    現在、PWS+ASP+ACCESSを使用し開発を行っていますが排他制御で悩んでいます。 ASPは、ステートレスなセッションでの制御しか出来ないため、ページを表示後のデータの変更はスタンドアロンでの更新のような形になってしまうと思います。 以下のような方法で行っている実例を見たことがありますが、少なからず問題も抱えていると思います。 ・レコード毎に排他フラグを保持する ~ 処理がアベンドした場合にフラグが残る(一定時間後に解除という方法もありますが) ・レコード毎に更新時間を持ち、読込時の更新時間と更新時の更新時間とを比較し更新されていない時だけ更新をかける ~ 後に更新をかけようとした変更が無駄になる 上記の方法以外で、排他制御を実現させる良い方法はないのでしょうか。他の方法で実現しているときは、その方法を教えて頂けませんでしょうか。 ※PWS→IIS、ACCESS→SQLServerに変更する可能性はあります。 (セッションオブジェクト・アプリケーションオブジェクト等を使用しての実現方法など) 宜しくお願いします。

  • Accessでの排他制御

    アクセスの排他制御に関して質問です。 ネットワーク上のサーバーにアクセスのMDBを置いて、複数の人が更新目的で開く場合、排他制御はどうなるのでしょうか? テーブル単位で、ロックが掛かるのでしょうか? もしそうであれば、複数の人が同時に使えないのですが、回避策はありませんでしょうか?

  • 排他制御。

    現在ASPで作成しているプロジェクトでは ページが三つあります。 1ページ目でデータを選択し、排他をかける。 2ページ目でデータを更新して、 3ページ目で排他を解除しています。 この際2ページ目でページを閉じられた場合、 排他を解除しなくてはならないのですが なにかいい方法はありませんか? また、ブラウザの戻るボタンを押されたときにも 排他を制御しなくてはなりません。 なにか判断する方法はないでしょうか?

  • 同一レコード更新時の排他制御

    Oracle9iです。 C/S開発で、VB.NETで画面を開発します。 DBの更新は、画面よりストアドプロシージャを使って行います。 複数ユーザが同一レコードを同時に参照し、同一レコードに対して更新された場合、参照時の更新日時と異なる場合はエラーとするよう設計されています。(つまり、後更新はエラー) この排他チェックロジックを画面側で実装しようとしておりますが、この排他チェックロジックを画面側で実装せずに、Oracleよりエラーレコードを受け取ることによる排他制御を行うことはできないでしょうか? ご教授のほどよろしくお願いいたします。 また、参考サイトあれば、その紹介だけでも助かります。

  • 排他制御について

    質問します。 VB.NETとSQLServer2000を使用して受発注処理を作成したいのですが、排他制御について今悩んでいます。 レコードロックの動作についてなのですが、Aさんが「A01」のデータをレコードロックでデータを画面に表示している場合に、Bさんも(別PCにて)同様にレコードロックで「A01」のデータを表示することは可能なのでしょうか?(取得できるのか) 何方かご教授お願い致します。

  • 「WINRAR」の排他制御

    PCのアーカイブソフト「WINRAR」でRAR書庫内のファイル内容を更新して上書き保管しても書庫内のファイル更新日は変わらず、再度開き確認しても更新が反映(保存)されていません。 書庫を閉じる段になるとエラーメッセージ『これらのファイルは外部の編集アプリケーションを閉じてから圧縮できます』が出ます。 「書庫に戻る」か「(更新を破棄して)書庫を閉じる」の二択しかなく、書庫に戻っても更新されていないファイルが残っているだけでです。 そこで再度そのファイルを開いて更新しても同じことの繰り返しで更新を反映させることは出来ず結局、更新破棄の一択になります。 ファイル更新したタスク(アプリ)は既に終了しているのに排他制御されています。 「(更新を破棄して)書庫を閉じる」を選択するまでは、【一時ファイル用フォルダー】に、更新が反映されたファイルが残っていますが、書庫に保存されずこのような作業ファイルがどんどん増殖していくだけで結局、書庫に保管することは出来ず書庫を閉じた際にこれらは消去されます。 妙な排他ロックが掛かるファイルは、エクセル、テキスト、PDFなど形式・アプリを問わず発生します。 同じファイルでも排他ロックが掛かったり、掛からなかったり再現の規則性は不明です。 書庫を一旦閉じて再度開いてやり直しても、妙な排他ロックの再現規則性は不明です。 WINRARはVersion6.21、Windowsは10の22H2(適用可能な更新は全て当ててあります) 現在は、書庫内データを大幅更新する際は、閉じる前に更新部分を別にコピペしておき、妙な排他ロックの際には気長にコピペ先から元書庫への更新作業を繰り返して、無事に更新が反映されるまで根気よく使っています。 原因、対策を教えてください。

  • Excelファイルのマクロによる排他制御

    A.xlsというExcelファイルの内容を更新するのですが。 更新しにいくのは、複数のExcelのマクロで作成したツールです。 その複数のツールから同時にA.xlsの更新にいくと当然タイミングによって更新内容が上書き等され壊れてしまいます。 そこで、お互いのツールで排他制御を行おうと思っているのですが、A.xlsを開くopen文での記述が解りません。 どなたか教えていただけないでしょうか。 使用している構文は、こんな感じです。 Workbooks.Open Filename:="A.xls" on errorで重複openのエラーになるかと思ったのですが、エラーになってくれず、重複エラーを検知できません。 よろしくお願いします。

  • ネットワーク上のファイルの排他

    No.872814 SCSI HDDのファイルシステム?関連で追加で疑問です。 複数のPCと(SCSI等で)接続した一台のディスクは、PC間で排他されないとのことですが、普通のネットワークコンピュータによるファイル共有はどのように排他されているのでしょう? Windows側が排他しているんでしょうか。 にしても、ディスク側にも排他中の情報がありそうに思います。 ディスク内のファイルシステムだけで排他を制御しているなら、複数PCと(SCSI等で)接続した一台のディスクも同じように排他できるのでは?と素人考えしてしまいますが、どうでしょう。

  • データベースに書き込むときの排他処理

    ASP3.0 IIS5.0 ASP初心者です。初心者の素朴な疑問なんですが、 ASPで、例えばWebページから入力された情報を、 Accessなどのデータベースに書き込むとき、 排他処理って必要ですよね? 一般的にどうやるのでしょうか? Application変数を使うのでしょうか? データベース自体に排他制御する機能があるのですか? よろしくお願いします。

このQ&Aのポイント
  • juki製のRS-1Rは他の会社のチップマウンタと比べて約2千万円も安価ですが、その理由を知りたいです。
  • juki製のRS-1Rは評判やメリット、デメリットを知りたいです。
  • juki製のRS-1Rはコストパフォーマンスが優れており、他のチップマウンタと比べて安価な価格で導入できますが、利点と不利点を知る必要があります。
回答を見る

専門家に質問してみよう