3

asp.netアプリの1つの使用が大幅に増えたため、非常にまれで、再現できない2つの奇妙な問題が発生しています。

これらの問題をデバッグおよびトラブルシューティングする方法について私は途方に暮れています。

次に2つの例を示します。

私のaspxページの1つが、セッション状態の値を0にリセットします!IsPostBack(is true)。ただし、特定の場所にいるユーザーの1人が、ポストバックではなく、ラップトップでセッション状態の値がリセットされない場合に、そのページに頻繁にアクセスします。(このステートメントは、デバッグモードでの実行ではなく、アプリのその後の動作に基づいています)しかし、同じブラウザーを使用してラップトップでアプリを実行している彼の隣に座っていると、コードは機能し、ラップトップでセッション状態がリセットされます同時に同じインターネット接続で。そして、このユーザーが自宅からラップトップでアプリを実行すると、インターネット接続が向上しますが、それほど頻繁に問題が発生することはありません。

私のアプリのaspxページの1つは、データをに保存するコードを実行した後、server.transferを実行しますDB。server.transferの後、ほとんどの場合、テキストボックスにはデフォルト値が含まれていますが(以降のように!isPostback==True)、テキストボックスには以前の値が含まれている時間の約1%です。データが保存されたため、サーバーへのラウンドトリップがあったことを知っています。この問題は、同じユーザーが同じアクションを実行することにより、同じブラウザを使用する同じPCで発生します。つまり、99%の確率で正しく機能し、1%の確率でまったく同じことを実行し、正しく機能しません。

これらの問題がランダムに発生しているように見える場合、これらの問題の原因を突き止めるにはどうすればよいですか?

インターネット接続の品質が問題になっているのは、それが変化している1つの変数であるためだと思いますが、その情報はどのように役立ちますか?

アプリをデバッグモードで実行することで、これらの問題のいずれかをデバッグできるわけではありません。

私はを使用していますがAsp .Net 3.5C# 3.5アプリはで実行されIE 6-8ます。(IE 8互換モードの場合)

4

3 に答える 3

8

問題が発生しているコードにロギングを追加します。次に、問題が発生しているユーザーに、問題が発生した時間を記録するように通知します。ログとおおよその時間を取得したら、これらのログにアクセスして、正しい方向を指しているものがあるかどうかを確認できます。サーバー上のIISとイベントログも確認します。

于 2012-07-16T18:33:09.130 に答える
2

Firefox Throttleプラグインをインストールして、低速接続をシミュレートできます。ページの読み込みが遅いASP.NETでは、多くのことが発生する可能性があります。ページが完全にロードされていないが、アイテムがクリック可能である場合、ASP.NETはイベント検証で本当に動揺する可能性があります...など

また、アプリケーションの問題領域のログ記録とトレースを開始することをお勧めします。次に、それをIIS要求ログと関連付けて、いつ何が起こっているのかをかなり正確に把握できます。

于 2012-07-16T18:31:27.650 に答える
0

セッション状態に問題があるようです。既定では、ASP.NETはサーバーメモリを使用して値を格納するInProcセッション状態モードを使用します。多くの場合、これは失われたりリセットされたりする可能性があります(アプリプールはリサイクルされます)。SQLServerセッション状態に切り替えると、問題の解決に役立つ場合があります。

于 2012-07-16T18:37:32.153 に答える