SL3 DataGrid には、レコードの詳細を Excel 形式でダウンロードするためのダウンロード XLS 列があります。[ダウンロード] ボタンをクリックすると、最初にユーザーは SaveFileDialog でファイルを選択するように求められ、次に選択したレコードの詳細を取得するために WCF 呼び出しが行われます。サードパーティの Excel ヘルパー ライブラリを使用して、レコードが Excel シートに追加され、ファイルが保存されます。
問題は、セッションがタイムアウトした場合 (アイドル状態など)、クリックが完全に機能し、保存するファイルを指定するようにユーザーに促し、ログイン ページにリダイレクトされることです (予想どおり、認証されていないエラーなどを処理しています)。
しかし、ユーザーは空の Excel ファイルがダウンロードされたような錯覚に陥ります。
セッションがタイムアウトした場合、Silverlight ページから検出する方法はありますか? したがって、セッションが利用可能な場合にのみ SaveFileDialog を表示します。