1

コードのリダイレクトに問題があります。Web で提案された解決策はどれもうまくいきませんでした。基本的に私のコードはこれです(実際のコードではなく、説明のみ):

protected void btnCool_Click(object sender, EventArgs e)
{
    GetDataFromInterface();
    GetDataSpecificDataFromDB();
    SaveDataOnSession();
    Response.Redirect("SomePage.aspx", false);
    Context.ApplicationInstance.CompleteRequest();
 }

すべてがうまく実行されますが、メソッドが実行された後、ログイン ページが表示されます。VS の [出力] ウィンドウに次のように表示されます

ここにいくつかの追加情報があります:

  • 私は try catch ブロックを使用していません。
  • このページにもマスター ページにも UpdatePanels はありません。
  • Application_Error もトリガーしません。
  • ほぼ同じことを行い(他のデータを取得)、別のページに正常にリダイレクトする(同じコード)2番目のボタンさえあります
  • 実行中に Web.Config で何も変更していません。

編集:明確にするために。その例外は何があってもスローされます。目的のページへのリダイレクトが機能しません (つまり、アプリにデッド パーツがあり、アクセスできません)。代わりに、私はアプリケーションから追い出されています。

どうか、これで私を助けてください。フォローできるリードがこれ以上ないので、何か提案があれば助かります。

4

3 に答える 3

1

Yes, you do.

This is by design

http://support.microsoft.com/kb/312629

于 2012-08-23T14:51:12.353 に答える
1

はい、デフォルトです。この状況のベスト プラクティスは以下のとおりです。

protected void btnCool_Click(object sender, EventArgs e)
{
    try{
    GetDataFromInterface();
    GetDataSpecificDataFromDB();
    SaveDataOnSession();
    Response.Redirect("SomePage.aspx", false);
    Context.ApplicationInstance.CompleteRequest();
     }
    catch(ThreadAbortException Thrdex)
    {}
    catch(Exception ex)
    {
    //Handle exception
    }
 }
于 2012-08-24T07:23:31.113 に答える
1

Ok。私は問題を発見しました。PICNICの典型例です。そのページには、特定のタイプのユーザーへのアクセスを許可するインターフェイスが実装されていませんでした。少なくとも、リダイレクトと例外について多くのことを学びました。

関心と回答をありがとうございました!!

于 2012-08-24T07:42:08.367 に答える