2011-07-06 11 views
2

シンプルなLogin.aspxページを使用するSilverlightアプリケーションがあります。私はすべての基本的なASP.NETの設定を持っており、セッションが切れるか見つからないときにページリクエストに効果的です。しかし、Silverlightのサービスリクエストはページリクエストではなく、application/msbinのシリアルデータを探しています。したがって、これらのリクエストが期限切れのセッションに到着すると、それらはログインページにリダイレクトされます。ログインページに続いて、最終的にはHTMLコンテンツ(ログインページのマークアップ)が呑み込まれます。もちろん、それは私が期待するように、コンテンツ/解析エラーで終わります。Silverlightをリダイレクトするセッションタイムアウト時にページを開く

私の質問は、サーバーがセッションの有効期限が切れたことをブラウザがリダイレクトすると、Silverlightサービスの応答がどうにかリダイレクトされるようにするためです。

私はこれをJavascriptで手作業で書いており、ajaxレスポンスハンドラにカスタムヘッダを検出させてdocument.location = newPathを実行させる必要がありました。それらの線に沿った何かがいいでしょう。

また、私は、セッションをno-op pingで維持するために私が読んだ他のソリューションには興味がありません。クライアント内でタイマーやカスタムセッションマネージャを実装する必要はありません。私はどこかの設定を逃したことを願っています。

答えて

0

私は全く同じ問題を抱えていました。残念ながら、それは簡単な設定ではありません。私は可能な解決策を文書化したhere。セッションタイムアウトの後、RIAサービスの呼び出しは、DomainServiceExceptionを返します。DomainServiceExceptionは、中央のUnhandled_Exceptionハンドラで処理されます。ユーザーが認証されていない場合は、メインページにリダイレクトされます。

関連する問題