問題タブ [txf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
782 参照

vb6 - Vista ファントム ディレクトリ

インストーラーが構成ファイルの存在を確認するプログラムがあり、存在する場合はそのファイルをコピーしません (ユーザーが構成ファイルを変更し、それらの変更を保持したいと想定しています)。残念ながら、これは Vista より前のアプリケーションであり、構成ファイルを Program Files に保持します。問題は、特定の API を再インストールするときにディレクトリを手動で消去しても、そこにディレクトリがあると認識されることです。たとえば、VB6 では、ファイル ダイアログの参照ではフォルダーが表示されますが、エクスプローラー、コマンド シェルなどではフォルダーが表示されません。ファイルを上書きすると、古いファイルがそこに残ります (一部の API では、エクスプローラーではなく) ファイルの参照ダイアログ内のフォームを除いて削除できません。

これらの Phantom フォルダで何が起こっているのでしょうか? また、すべての API が同じものを見るようにファイルを削除するにはどうすればよいでしょうか? TxF 、または検索用のインデクサーに関係している可能性がありますが、使用するインストーラー (InnoSetup) とアプリケーションの一部 (VB6 で記述された部分) の両方がファイルの古いバージョンを認識しており、他のすべてはファイルの古いバージョンを認識しています。現行版。

0 投票する
2 に答える
1339 参照

c# - トランザクションファイルシステムアクセス用の.net永続リソースマネージャー

C#でのSystem.Transactions名前空間の使用に頭を悩ませようとしています。リソースマネージャーの使用に関するMSDNのドキュメントをいくつか見つけましたが、それは揮発性のメモリ内リソースマネージャーのみを詳細にカバーしています(Transactionalなど)。基本的に、Transactional <>のように、TransactionScope内で使用できるものを探していますが、ディスク上のファイルの書き込み/変更/削除に使用します。このようなものが標準ライブラリに存在しますか?NTFSにはトランザクションファイルシステムアクセスを許可するための「TxF」があることを読みました。これを利用する何かを.netで見つけることを期待していました。おそらく私は自分自身を実装する必要がありますか?

0 投票する
5 に答える
2138 参照

c# - トランザクショナル NTFS (TxF) を実際にエンタープライズ レベルで使用した経験はありますか?

バックグラウンド:

トランザクション NTFS (TxF) に関するこの SO の質問と、その使用方法を説明するこの記事については承知していますが、大量の BLOB データ (ドキュメントや写真) はトランザクションごとに 1 回保持し、何度も読み取る必要があります。

  • 1 日あたり数万のドキュメントが書き込まれ、1 時間あたり数万の読み取りが予想されます。
  • ファイル システム内または SQL Server 内にインデックスを格納できますが、これを複数のボックスにスケールアウトできる必要があります。
  • 災害復旧のために、データを簡単にバックアップおよび復元する機能を保持する必要があります。

質問:

  • トランザクショナル NTFS (TxF) を実際にエンタープライズ レベルで使用した経験はありますか?

関連する質問:

  • 同じファイルが一度に 2 つのミラー サーバーにコミットされる TxF を使用して分散トランザクションを試した人はいますか?
  • ファイル システムとデータベースで分散トランザクションを試した人はいますか?
  • 共有できるパフォーマンスに関する懸念/信頼性に関する懸念/パフォーマンス データはありますか? トランザクションが問題になる前に、この規模で何かをした人はいますか?

編集:より明確にするために、SQL Server 2008 の新しい FILESTREAM データ型を含む他のテクノロジを調査しましたが、この質問は特にトランザクション ファイル システムのみを対象としています

その他のリソース:

0 投票する
1 に答える
414 参照

.net - ファイルを安全にロックしてから移動しますか? ウィンドウズ

ファイルがあり、データベースに行を挿入する前にファイルが存在することを確認する必要があります。挿入した後、ファイル名の一部として PK を使用し、それを別の場所に移動する必要があります。

存在するかどうかを確認してからロックして、データベースに挿入できるようになるまで削除できないようにし、ロックを解除しても削除されずにファイルを移動するにはどうすればよいですか?

また、ファイルが使用中の可能性があります。ファイルを安全な場所にコピーしてから、そのファイルを移動することを考えています。この場合、読み取りに使用されているファイルをコピーする必要があります。上記の手順を安全に行うにはどうすればよいですか?

.NET の使用

0 投票する
3 に答える
892 参照

c# - Process.Start() でのトランザクション NTFS (TxF)

次のコードを検討してください。

このシナリオでは、SQLInstaller.exe によって行われた変更はロールバックされますか? 具体的には、Process.Start() を通じて起動された外部プロセスによって行われた変更は、TxF によって処理されますか?

ありがとう!

0 投票する
1 に答える
216 参照

winapi - トランザクション NTFS による書き込みロックのブロック

MSDN のドキュメントによると、トランザクション NTFS では、書き込みのためにファイルを開くときにブロックすることはできないようです。代わりに、開く操作は ERROR_SHARING_VIOLATION で失敗します。代わりに書き込みをブロックしたいのですが、どうすればいいですか?

理想的には、ソリューションに次のプロパティが必要です。

  1. ネットワーク共有上で動作します (ローカルの名前付きミューテックス ハンドルはありません)。
  2. 所有しているプロセスが停止した場合の自動解放
  3. 別のファイルは必要ありません (名前付きストリームは問題ありません)
  4. ロック待機にタイムアウトを設定できるようにします (または、別のスレッドまたは APC からキャンセルできるようにします)。

これらのプロパティを持つトランザクション NTFS で動作するロック方法の経験がある人はいますか?

0 投票する
2 に答える
2560 参照

transactional - トランザクション NTFS の使用に代わる方法

Microsoft がTransactional NTFS (TxF) を廃止した場合:

Microsoft は、開発者がアプリケーションのニーズを満たすために別の手段を利用することを強くお勧めします。TxF が開発された多くのシナリオは、より単純ですぐに利用できる手法を使用して実現できます。さらに、TxF は、Microsoft Windows の将来のバージョンでは利用できなくなる可能性があります。

TxF は強力な API セットですが、Windows Vista 以降、この API プラットフォームに対する開発者の関心は非常に限られていました。その主な理由は、開発者がアプリケーション開発の一環として考慮しなければならない複雑さとさまざまなニュアンスです。その結果、Microsoft は、Windows の将来のバージョンで TxF API を非推奨にすることを検討しており、より多くの顧客にとってより価値のある他の機能や API に開発と保守の取り組みを集中させることができます。

これは、次の代替手段が必要であることを意味します。

私の取引要件はかなり単純です - 2 つのファイルを移動します。

私は+に変わることMoveFileを考えました:CopyFileDeleteFile

しかし、バグのある解決策ではなく、良い解決策を望んでいました。だから私は再試行します:

バグのある解決策ではなく、良い解決策を望んでいたことを除いて。

0 投票する
1 に答える
960 参照

c# - トランザクションNTFSラッパー

ここでmsdnで利用可能なトランザクションNTFSラッパーを使用して、ファイルシステム操作のアトミックトランザクションをサポートしています。利用可能な例は、transactedFilesの操作方法のみを示していますが、トランザクションディレクトリの作成、移動、コピーも必要です。わかりません。 TransactedDirectoryクラスの使用方法について教えてください。このコードを試しましたが、正しくないようです。

「アクセスが拒否されました。フォルダは別のプロセスによって使用されています」というエラーが表示されます。