2009-08-03 5 views
2

に/「接続中断」ADの資格情報までリードの多くを要求します認証はActive Directoryによって処理されています。はポストバック

ユーザは、英数字のIDを入力し、ボタンをクリックします。 aspx.cs内のボタンのonclick():
1.ストアドプロシージャを呼び出して、新しいレコードか既存のデータかを判断します。
2.レコードが存在する場合は、フォームをあらかじめ入力します既存の値と比較します。また、正常ポストバック、:

は、ASP .NET AJAXオートコンプリートを使用するように拡張されている3つのテキストボックスがあります(UpdatePanelのそれぞれが、独自のASPに含まれています)。ウェブフォーム
3をクリアに応じて挿入または更新のどちらか
2ストアドプロシージャを呼び出し
1:

ユーザがデータを入力完了したら、記録を保存する単一のボタンがあり、 。迅速な成功メッセージを表示します。

それの打ち上げ以来、このフォームを通じて挿入され、更新されたレコード4000の上にありました。私は今問題があります。ONEレコードは更新できません。それは同じフォームを使って1ヶ月前に問題なく挿入されました。

Internet Explorer(6,7,8):保存ボタンをクリックすると、ドメインのユーザー名とパスワードを入力するよう求められます。有効なユーザー名とパスワードを入力すると、「Internet ExplorerはWebページを表示できません」という画面が表示されます。

Firefox 3の場合:保存ボタンをクリックすると、「接続中断」画面が表示されます。 [再試行]ボタンをクリックしても結果は変更されません。

は、アプリケーションが、サーバーのイベントログを使用してログにエントリはありません、またSQL Server 2005の

のために私が試してみました:
- 異なるコンピュータ上で、それが失敗しました。
- 異なるユーザーで、失敗しました。
- 他の多くのレコードで、完全に更新されます。

私は2つの異なる方法でテスト環境にレコードをロードした:テストWebフォームにコピーされ、生産WEBフォームから直接貼り付け
2.テスト・データベースにコピーされ、本番データベースから直接貼り付け
1 。
問題は、テストやローカル開発システムでは発生しません。プロダクションとテストの両方がASP .NET 3.5 SP1を実行しています。

私は、失敗したプロダクションページのコピーと、HTMLとして機能するテストページを保存して、Total Commanderの "Compare Files by Content"機能を使って、その違いが赤色でハイライトされることを期待してすてきで明白なこと。唯一の違いは、実行時に.NETによって自動生成された領域と、ドロップダウンの項目リストにはテスト時のエントリが多く含まれることがあります。

最終的なポストバックが失敗する原因となるデータに問題がある可能性がありますが、ポストバックが開始される前でも失敗しているようです。私はロードされたaspxページのソースとデータベースで迷子の目に見えないキャラクターやそれが詰まる原因かもしれない文字が多すぎるが、運がないテキストエリアを見つけるためにレコードのデータを調べました。

同僚がwe​​b.configにviewStateEncryptionMode="never"の設定を示唆しました。これで問題は「修正」され、エラーなしでレコードを更新できるようになりました。

残念ながら、フォームが失敗する原因となるデータを提供することはできません。

私の質問:これは最初の場所で起こったか、なぜviewStateEncryptionMode="never"がそれを固定設定する理由 は、誰もがアイデアを持っていますか? ViewStateEncryptModeを決して決して歓迎しないよりよいソリューションです。

ありがとうございます!

+0

+1詳細と研究。それが質問のあり方です。 – Kobi

+0

ありがとう!私がやったことをすべて捕まえようとしている小説を書いているような気がした。 – weffey

+0

問題が再現され、侵入検知システムであることが判明しました。 – weffey

答えて

1

まず、最も重要な点は、.Net 3.5 SP1以外にも、サーバーに最新のパッチがインストールされていることを確認してください(これは常に最初の手順です)。

サーバが最新であると仮定して、まずサーバ上のファイアウォールとウイルス対策ソフトウェアをチェックします(ログが必要です)。アンチウイルスは、既知のJavaScriptのような疑わしいコードを使用するウェブサイトをブロックする可能性があります(私はそれを試したことは認めています)。 viewstate上の特定の組み合わせが、疑わしいコードやファイルのように見える可能性があります(奇妙に見えますが、可能です)。
次に、IISを確認できます。ロギングを有効にし、エラーが発生したかどうかを確認します。どのisapiフィルタがインストールされているか確認してください(これらはいくつかの場所にあります - 「Webサービス拡張」フォルダ、またはWebサイトのPropertiesのタブ、またはその親のプロパティの1つにあります)

+0

+1も企業のファイアウォールをチェックします。私はステートフルパケットインスペクションを使用して企業のファイアウォールを体験しました。 –

+0

遅れて申し訳ありませんが、「作業中の修正」があると、他の修正プログラムを試してもらうための優先順位が低くなります。 - 先週末(8月8日)に最新のパッチがインストールされても、問題は残ります。 - IIS、ファイアウォール(すべてが実行中で、企業のファイアウォール内でアクセスされている)、またはウイルス対策ログには対応していません。 これは頭のスクラッチャーですが、それは確かです。 – weffey

+0

申し訳ありませんが、私は助けなかった。私はファイアウォール/アンチウィルスの問題のように聞こえるが、そうでなければアイデアが足りない。質問を編集して新しい詳細を追加しようとすると、バンプが表示され、より多くの回答が得られる可能性があります。 – Kobi