Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

セッション後要求の処理

サーバ上から、不必要になったデータなどを削除している間、Web ページがユーザのブラウザにまだ表示されている可能性があるため、終了させることができません。そのセッションが終了されたことを知らずに、[注文完了] ボタンを連続してクリックしてしまうことがあります。

これに対応するため、[注文完了] ボタンがクリックされたときに表示される、TicketConfirm ページの機能を強化します。(%session オブジェクトの Order の値を検索することで) 保留されている注文があるかどうかをチェックするコードを追加します。保留されている注文がない場合、メッセージを表示します。

タイムアウトでセッションが終了すると、そのセッションに関係する %session オブジェクト (および %session オブジェクトに格納されているすべてのデータ) は失われることに注意してください。ユーザからの次の要求は、新しい %session オブジェクトを伴う、新しいセッションの一部となります。

—TicketConfirm.OnPage—
TicketConfirm.OnPage
ClassMethod OnPage() As %Status
{
    &html<<html>
    <head>
    </head>
    <body>>
    If ($D(%session.Data("Order"))) {
        Do ..CompleteOrder()

        Write "Thank you for using Caché Cinema!<br>",!
    }
    Else {
        Write "Your order expired before it was completed."
    }
    &html<</body>
    </html>>
    Quit $$$OK
}
FeedbackOpens in a new tab