10

始める前に、iisreset の使用が悪い習慣と見なされていることは知っていますが、とにかくこれは発生しないはずです..

私たちが持っているもの:

  • Windows Server 2003 R2 (64 ビットと 32 ビットの両方) 上の IIS6 を搭載した複数のマシン

  • 複数のアプリケーションにデプロイされた複数の WCF Web サービス (.NET ランタイム 2.0)。それぞれに独自のアプリケーション プールがあり、各アプリケーション プールは別の Windows アカウントで実行されます。

何が起こるのですか:

  • すべての appPools が開始され、すべてのサービスが動作しています
  • IISReset が実行される (またはマシンが再起動される)
  • IIS は再起動しますが、すべてのアプリケーション プールが適切に開始されるわけではありません。それらがすべて元に戻ることもあれば、1 つ以上のプールが開始されないこともあります。ただし、手動で開始することはできます。

これは "通常の" iis の動作ですか? iisreset の使用を避けるべきですか、それとも .NET コードで何か間違ったことをしているのですか?

4

6 に答える 6

11

アプリケーション プールは iisreset で再起動する必要がありますが、信頼性のために iis の外部 (COM+) で実行されます。これは、アプリケーションが正しく動作していない場合に戻ってこない可能性があることを意味しますが、IIS と他のアプリは戻ってくる (はず) でしょう。そうです、これが「普通」です。

PS また、iisresetの誇り高いユーザーとして、自分自身を "アウト" したいと思います。悪い習慣? ばっ!;D

于 2008-10-29T12:33:21.473 に答える
5

IIS は、最初の要求が来るまで ASP.NET ワーカー プロセス (w3wp.exe) をすぐには開始しません。 appPool を開始できないため、Service Unavailable エラー? イベント ログに IIS W3SVC 関連のエントリはありますか?

ある場合は、起動できない理由の手がかりになる可能性があります。それらをここに投稿してください。

于 2008-10-29T12:54:09.030 に答える
4

理由:

IIS は、最初の要求が来るまで、ASP.NET ワーカー プロセス (w3wp.exe) をすぐには開始しません。「開始されていません」と表示されている場合は、(iisreset 後に) 一部の WCF Web サービスにアクセスしようとして失敗したことを意味します。 appPool を開始できないため、Service Unavailable エラーが発生します。

回避策:

次のコマンドでバッチファイルを作成し、スケジュールします。

ネットストップ23svc

ネットストップmsftpsvc

ネットストップsmtpsvc

ネットストップ PleskControlPanel

ネットストップ HTTPFilter

iisreset /restart

net start w3svc

net start msftpsvc

ネットスタートsmtpsvc

net start PleskControlPanel

net HTTPFilter を開始

于 2010-01-28T05:21:11.153 に答える
0

以前のサポートの役割では、あらゆる種類の .NET 混乱を実行する複数の IIS サーバーを管理していました。AppPool の開始に失敗した場合、通常はログイン資格情報が正しくありませんでした。

于 2008-10-29T12:57:51.673 に答える