作成日: 2014/09/26 最終更新日: 2014/09/26
文書種別
使用方法
詳細
レポートの出力時、複数クライアントからの同時アクセスに起因してレポートの内容が正しく出力されないことがございます。
この場合は、下記のような排他ロック処理を実装してください。
◆排他ロック処理の実装方法
(1) Global.asaxを追加
ソリューション・エクスプローラでアプリケーション・ルートを右クリックし、メニューから[追加] - [新しい項目]を選択します。
[新しい項目の追加]ダイアログにて[グローバル・アプリケーション・クラス]を選択し、[追加]ボタンをクリックします。
(2) Global.asaxに静的メンバを追加
Global.asaxに、に下記のようなコードを追加します。
Public Shared ReadOnly syncObject As New Object
(3) SyncLock処理の追記
下記のように、レポートを出力する処理の箇所にSyncLockステートメントを追加します。
SyncLock Global.(アプリケーション名).Global_asax.syncObject
・・・
'レポートの出力
Report1.RenderToFile(・・・, ・・・)
・・・
End SyncLock
この場合は、下記のような排他ロック処理を実装してください。
◆排他ロック処理の実装方法
(1) Global.asaxを追加
ソリューション・エクスプローラでアプリケーション・ルートを右クリックし、メニューから[追加] - [新しい項目]を選択します。
[新しい項目の追加]ダイアログにて[グローバル・アプリケーション・クラス]を選択し、[追加]ボタンをクリックします。
(2) Global.asaxに静的メンバを追加
Global.asaxに、に下記のようなコードを追加します。
Public Shared ReadOnly syncObject As New Object
(3) SyncLock処理の追記
下記のように、レポートを出力する処理の箇所にSyncLockステートメントを追加します。
SyncLock Global.(アプリケーション名).Global_asax.syncObject
・・・
'レポートの出力
Report1.RenderToFile(・・・, ・・・)
・・・
End SyncLock
旧文書番号
73231