2012-01-15 16 views
1

私はdefault.aspxで起こっているすべてのアクションで単一ページのWebアプリケーションを設計しています。彼がログオンした後、ユーザーのユーザーIDをセッションに保存します。私はdefault.aspxでSWFUploadを使用してupload.aspxにファイルをアップロードします。 upload.aspxはファイルを受信すると、HttpContext.Current.SessionでユーザーのIDをチェックします。これは以前から使用されていましたが、最近ではHttpContext.Current.Sessionにはセッションに関する値がありません。私はラインに沿って何かを変えたに違いないが、私は何が分からない。ASP.Netのセッション状態は別のWebページでは利用できません

見知らぬ人はまだIEでは動作しますが、FirefoxやChromeでは動作しません。私はまた、Firefoxの誤ってIEのセッションクッキー(私は言い換えている)をアップロードしてFirefoxについての何かを読んだ。

アップロードページ(FirefoxとChrome)からセッションデータを取得するにはどうすればよいですか?

+1

Cookieが有効かどうかを確認してください(firefoxとchrome) – adatapost

+0

FirefoxとChromeの両方でCookieが有効になっています。 –

答えて

3

これは、IE以外のブラウザでのFlashおよびCookieに関する既知の問題です。回避策についてはpost over at swfupload.org'just the code' over at snipplrについてはこちらをご覧ください。基本的にFlashはFirefoxやChromeなどでCookieを送信しない(またはIE Cookieを送信しない)ため、これらのブラウザではupload.aspxリクエストとともにSessionIDが送信されません。 IEでそれは動作します。

上記の回避策は、ポストまたはURLでSessionIDと認証チケットを送信し、次にGlobal.asaxで要求を傍受し、ASP.NETが認証またはセッションを取得する前に正しいCookieを再作成することです情報。

+0

ありがとう、私はこの答えを見つける時間を取った。 –

関連する問題