3.5フレームワークで利用可能なクラスを使用して、これらの操作を単一のトランザクションにラップできますか?
いいえ、リンクが弱いため、他のテクノロジーでは使用できません。
1.HttpPostedFileを使用してマルチページtiffファイルをサーバーにアップロードします
2.投稿されたファイルの記録をデータベースに挿入します
3.サーバー上の個々のファイルとして複数ページのtiffで個々の画像を処理して保存します
4.個々の画像の記録をデータベースに挿入します
2〜4は、最新のウィンドウのトランザクションで簡単に実行できます。NTFSはトランザクションに参加できます。
あなたの問題は1.1は不可能です。なぜなら-注意-HTTPにはトランザクションの概念がないからです。サーバーからアップロードが行われる場合は、アップロードCRM(Compensating Resource Manager)にアップロードの侵入がある可能性がありますが、ロールバックの場合はHTTP Tooを介してそれらを削除し、(完全に、ただしオプションで)アップロードする必要があります。コミットするまで表示されます。これは、APIがそれをサポートしている場合です-書くのは簡単です(.NETのCRMは非常に簡単です)。そうでない場合は、行き止まりになるか、妥協します。
サーバーにアップロードしてからトランザクションで処理するように話しかける場合、技術的にはマルチイメージのアップロードを適切に処理するために、transaciotnalコントロールが存在する場所を決定する必要があります。アップロードには、トランザクションを開始し、トランザクショントークンを使用してアップロードを実行し、すべてのアップロードが完了したときにコミットするための適切なAPIが必要です(その場合にのみ処理を開始できます)。これはプログラミングが簡単であり、処理で論理トランザクションをロールできるため、ほとんどの場合TPMを使用しません。ただし、必要に応じて、ロールバックの場合にCRMで不要な変更を処理できます。