189

これには多くの投稿があり、今までに多くのことを試しました。しかし、役に立たない。基本的に Winform 開発者である私は、会社が Web のイニシアチブを取っているため、数日前にこの Web に関する作業を開始しました。

ASP.Net プロジェクトがあり、ローカル IIS でホストしたいと考えています。Project properties -> Web設定で、URLを選択しUse Local IIS Serverて指定しましたlocalhost/MyApp。Firefoxブラウザでアクセスしようとしましたが、次のようなエラーが発生しましたHTTP Error 503. The service is unavailable.

以前は他にも多くのエラーが発生していましたが、1 つずつすべて修正しました。しかし、これで打った。これらは私のプロジェクトでの設定です

  1. アプリケーション プールを ASP.Net v4.0 Classic に設定
  2. アプリケーション プールEnable 32 bit Applicationプロパティは true
  3. アプリ プールが開始されました
  4. Any CPUターゲット フレームワーク用に設定されたプロジェクト ビルド プロパティ

しかし、私は奇妙な行動に言及したいと思います。以下は私が直面しているものです

  1. アプリケーション プールが開始されました
  2. ローカル Web サイトにアクセスしようとしています (URL を として指定localhost/MyApp)
  3. 私はエラーを受け取りますHTTP Error 503. The service is unavailable
  4. アプリケーション プールが停止しています

次のリンクを見て、すでに試しました。上記の動作については、ここに到達しました。このリンクによると、コンピューター名には含まれていないはず.です。.コンピューター名には何もありませんが、含まれ-ています。また、私のドメイン名も含ま.れています。さらに、オフィスのラップトップと TFS 設定がドメインとコンピューター名にバインドされているため、これらの設定を変更できません。

何が起こっているのかを理解するのを手伝ってくれる人はいますか? 私を案内してください。ありがとう。

編集

に次のコードがありGlobal.asaxます。Application_BeginRequestメソッドは同じファイルで空です。

protected override void Application_Start(object sender, EventArgs e)
{
    base.Application_Start(sender, e);
    String _path = String.Concat(System.AppDomain.CurrentDomain.RelativeSearchPath, ";",
                                         System.Environment.GetEnvironmentVariable("PATH"));
    System.Environment.SetEnvironmentVariable("PATH", _path, EnvironmentVariableTarget.Process);
    MyAppLog.Initialize();
    MyAppLog.WriteMessage("Application Started");
}

アップデート

コメントの提案に従って、Cassini から Web サイトを実行できます。

4

24 に答える 24

347

これが発生する理由の 1 つとして、IIS のアプリケーション プールがカスタム アカウントで実行するように構成されており、このアカウントが存在しないか、間違ったパスワードが指定されているか、パスワードが変更されていることが考えられます。どのアカウントを使用するかについて、IIS のアプリケーション プールの詳細プロパティを確認します。

また、イベント ログには、アプリケーション プールが最初の要求ですぐに停止する理由に関する詳細情報が含まれている場合があります。

ここに画像の説明を入力

于 2013-10-29T09:44:36.527 に答える
56

OK、ある特定のケースに対する別の解決策があります。WINDOWS 10 を使用していて、最近 (Anniversary Update パッケージで) 更新した場合は、次の手順に従う必要があります。

  1. あなたを確認してくださいWindows Event Viewer- Win+R を押して次のように入力してください: eventvwr、次に ENTER を押してください。
  2. 左側の->をWindows Event Viewerクリックします。Windows LogsApplication
  3. IIS-W3SVC-WPここで、中央のウィンドウでソースのエラーを見つける必要があります。
  4. おそらく、次のようなメッセージが表示されます。

モジュール DLL >>path-to-DLL<< のロードに失敗しました。データはエラーです。

  1. Control Panel->に移動するProgram and Features必要があり、ロードできない dll に応じて、別のモジュールを修復する必要があります。
    • for - IIS URL Rewrite Module 2rewrite.dllを見つけてクリック->ChangeRepair
    • for - Microsoft .NET Core 1.0.0 - VS 2015 Tooling ...aspnetcore.dllを見つけて->をクリックします。ChangeRepair
  2. コンピュータを再起動してください。
于 2016-10-25T08:39:02.333 に答える
16

私の状況では、ログイン パスワードが変更されましたが、アプリケーション プールはまだ古いパスワードを使用しています。そのため、アプリケーション プールの [詳細設定] をクリックして、[ID] をリセットしてください。

于 2014-12-17T15:03:19.157 に答える
12

私は同じ問題に直面しており、イベント ログを使用してデバッグしました。最初に、「ソース Microsoft-Windows-WAS からのイベント ID 5059 の説明が見つかりません」と表示されました。

次に、 turn windows features on/offを使用して WAS をオンにしました。次に、eventvwr「Microsoft-Windows-DistributedCOMが見つかりません」でこれを見ました。

最後に、あきらめて(Webサイトへのアクセスを停止していた)App Poolを削除し、そのまま作成し直しました。これで問題は解決しました。

于 2013-12-30T11:32:27.783 に答える
9

ほとんどの場合、AppPool 設定が原因で発生しました。

これを解決するには、以下を確認してください

  1. Apppool サービスが実行されていることを確認します。
  2. AppPool の ID を確認します。
  3. その ID の新しいパスワードが変更されている場合は、新しいパスワードを入力します。

次の画像は、IIS でのこれらの設定を示しています

ここに画像の説明を入力

于 2016-09-28T13:53:20.770 に答える
7

Windows 10 を使用していて、Anniversary アップデートに更新した後、このリンクを確認してください。

https://orcharddojo.net/blog/troubleshooting-iis-apppool-crashes-status-503-after-windows-10-anniversary-update

リンクがダウンした場合: イベント ログに aspnetcore.dll、rewrite.dll (ほとんどの場合、他の可能性もあります) の読み込みに失敗したことが示されている場合は、不足している項目を修復する必要があります。

これまでに発生した 2 つの特定の問題とその修正方法を以下に示しますが、まったく異なる問題に遭遇する可能性があります。

"C:\WINDOWS\system32\inetsrv\rewrite.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "IIS URL Rewrite Module 2".
"C:\WINDOWS\system32\inetsrv\aspnetcore.dll" (reference)
    Go to "Programs and Features" (Win+X, F) and repair "Microsoft .NET Core 1.0.0 - VS 2015 Tooling ...".
于 2016-10-08T14:44:54.107 に答える
6

McAfee HIPS を使用していて、イベント ビューアーのアプリケーション ログに次のエラーが表示される場合:

モジュール DLL C:\Windows\System32\inetsrv\HipIISEngineStub.dll の読み込みに失敗しました。
データはエラーです。

次に、私の場合、次の方法で問題を解決しました: https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST

ページからの引用:

  1. [スタート]、[ファイル名を指定して実行] の順にクリックし、explorer と入力して [OK] をクリックします。
  2. %windir%\system32\inetsrv\config に移動します。
  3. メモ帳で編集するために、ファイル applicationHost.config を管理者として開きます。
  4. <globalModules> セクションを編集して、次の行を削除します:
    <add name="MfeEngine" image="%windir%\System32\inetsrv\HipIISEngineStub.dll" />

  5. <modules> セクションを編集して、次の行を削除します:
    <add name="MfeEngine" />

  6. applicationHost.config ファイルの編集が完了したら、ファイルを保存し、iisreset を使用するかシステムを再起動して IIS サーバーを再起動します。
于 2014-07-30T11:59:56.077 に答える
5

同様の問題がありました。「ローカル セキュリティ ポリシー」>「ローカル ポリシー」>「ユーザー権利の割り当て」の下の「バッチ ジョブとしてログオン」ポリシーにユーザーを追加することで解決しました。

于 2015-11-03T17:09:19.810 に答える
5

初めてサービスを追加し、そのアプリプールを作成したとき。コマンドプロンプトから「iisreset」を実行したところ、うまくいきました。

于 2016-01-12T19:53:18.280 に答える
4

Visual Studio デバッガーで Web サイトを実行できる場合は、アプリケーション プールがクラッシュしているコード内の場所を確認できる可能性があります。私の場合、それは再帰的に無制限に呼び出される関数であり、それがスタック オーバーフローを引き起こしました。注: Windows イベント ログと IIS ログは、問題の診断には役立ちませんでした。

于 2015-03-27T14:48:01.337 に答える
3

同様の問題がありました.Webリクエストが行われるたびに、すべてのアプリプールが停止していました。イベントビューアで次のエラーが発生していましたが:

アプリケーション プール 'appPoolName' のワーカー プロセスでエラーが発生しました '構成ファイルは整形式の XML ではありません' ファイル '\?\C:\inetpub\temp\apppools\appPoolName\appPoolName.config' から構成データを読み取ろうとしています。番号「3」。データ フィールドにはエラー コードが含まれます。

次の場所のapplication.configにエラーがあることがわかりました:

C:\Windows\System32\inetsrv\config\applicationHost.config

私のシナリオでは、IIS が明らかに嫌う要素を使用して展開時に web.config を編集しました。applicationHost.config は web.config をスクレイピングし、この悪い要素を挿入しましたが、手動で削除するまで解決しませんでした。

于 2014-12-15T14:57:35.090 に答える
3

Orhan's answer のこのリンクで概説されている手順に加えて、[IIS マネージャー] > [サーバー ルート] > [モジュール] > [ネイティブ モジュールの構成] に移動して、ネイティブ モジュールをさらに削除する必要がある場合があります。MfeEngine を選択し、[削除] を選択します。

于 2016-01-27T19:47:53.727 に答える
2

このような 503 エラーは、Windows Server 2019 で新しいクラシック ASP Web サイトをセットアップしているときに発生しました。

実際、アプリケーション プールで「.NET CLR バージョン」を「マネージ コードなし」に設定すると、アプリケーション プールが開始から 2 秒後に停止し、Windows イベント ログに WAS 5002 および 5021 エラーが生成されました。

解決策は、.NET が使用されていなくても、 " v4.0 " を配置することでした。

于 2022-02-08T14:13:14.057 に答える