2016-06-14 3 views
0

私のアプリケーションが断続的にぶら下がっている理由を理解できる時間がある人がいますか?私はVS2015からSQL ServerデータベースにアクセスするWebプログラムを実行しています。時には私のウェブページ上のリンクをクリックすると、すべて正常に動作します。しかし、他の時には、小さなサークルは永遠に回転し、決して戻ってこない。これはデータベースに関連していないようです。XmlSerializer serializer = new XmlSerializer(type);私のC#アプリケーションは、localhostで実行中に間欠的にハングします

私はWindows 10のラップトップ(16GB &大量のディスク)でlocalhostのIIS ExpressでWebサイトを実行しています。 。私は問題を診断するのに役立つと誰もが考えているなら、ReSharperも持っています。私はこれと数日間戦ってきたし、他に何がすべきかわからないが、ここの誰かが私に同情することを願っている。

Re:D Stanleyのコメント:「ログはありますか?デバッガで実行して、どこにハングしているのか、システムイベントログには何かありますか?

ロギングがありますが、キャッチされた例外にのみ適用されます。ハングの状況に役立つものはありません。私はデバッガでそれを実行することができますが、それが掛かっているとき、私はそれが掛かっている(それは外部コードにあります)を見ることができません。プログラムを実行すると、イベントログに「perflib」エラーが表示されます。あなたがそれが助けになると思うなら、私はその情報を掲示することができます。

詳細私はフィドラーをインストールしました。アプリケーションがハングアップすると、Fiddlerはまだ町に行きます。表示されている "プロセス"は "scriptedsandbox64"で、I/Oを実行してCPU時間を消費しています。 xxxは、コードの一部のチャンクの名前です

DateTime.Now.ToString("o") "Starting xxx" 
DateTime.Now.ToString("o") "Finished xxx" 

+1

ログはありますか?あなたはそれがぶら下がっている場所を確認するためにデバッガでそれを実行できますか?システムイベントログには何かがありますか? –

+0

これは真実ではありません。「サークルは永遠に戻り、決して戻ってこない」というか、むしろ疑わしいと思われます。通常、Webリクエストはサーバー上でタイムアウトするか、クライアントに5xxを返すか、クライアント側でタイムアウトする必要があります。クライアント(Fiddler、Burp)でプロキシを設定し、クライアントとサーバーの間で実際に何が起こるかを確認することをお勧めします。 –

+0

技術的には、技術的には、私がそれを与える時に戻ってくることはありません。私はプロキシの設定方法がわからないのですが、ポインタがありますか? –

答えて

0

私の懸案事項の答えは、IIS Expressの代わりにローカルIISを使用することでした。ローカルホスト用のウェブサイトの設定方法を理解し、ローカルIISで実行を開始したら、私のハングアップは消えました。

0

は、私はあなたが、あなたのコードにたくさんにのようなものをより多くのログメッセージを追加提案します。問題が外部コードにあると思われるので、これらの呼び出しをすべてラップします。

これで、アプリケーションが過度の時間を過ごす場所を確認できます。適切な領域を見つけたら、問題に集中するためにログを追加してください。

+0

これは非常に大きなアプリケーションであり、どこがハングするのかは分かりません(別の場所にあるようです)。私は無作為にエクササイズするのが無作為に追加されていると思います。 –

+0

プログラムがハングアップした場所に関するコードや知識がなくても、どこにエラーが存在するのかは分かりません。 – Gusman

関連する問題