0

SL3 DataGrid には、レコードの詳細を Excel 形式でダウンロードするためのダウンロード XLS 列があります。[ダウンロード] ボタンをクリックすると、最初にユーザーは SaveFileDialog でファイルを選択するように求められ、次に選択したレコードの詳細を取得するために WCF 呼び出しが行われます。サードパーティの Excel ヘルパー ライブラリを使用して、レコードが Excel シートに追加され、ファイルが保存されます。

問題は、セッションがタイムアウトした場合 (アイドル状態など)、クリックが完全に機能し、保存するファイルを指定するようにユーザーに促し、ログイン ページにリダイレクトされることです (予想どおり、認証されていないエラーなどを処理しています)。

しかし、ユーザーは空の Excel ファイルがダウンロードされたような錯覚に陥ります。

セッションがタイムアウトした場合、Silverlight ページから検出する方法はありますか? したがって、セッションが利用可能な場合にのみ SaveFileDialog を表示します。

4

1 に答える 1

0

おそらく、Silverlight から ASP.NET にハートビートを送信できます。これは、Ajax の世界でも非常に一般的な問題です。SilverlightでもJavascriptを使用できるため、このソリューションKeeping ASP.NET Session Open / Aliveを確認することをお勧めします

JSが気に入らない場合は、HttpWebRequestまたはWebClientを使用してasp.netと通信できます...

于 2011-08-02T04:44:58.653 に答える