この件に関する投稿は数多くあり、私も今までにいろいろと試してきました。しかし、無駄だった。私自身は基本的にWinforms開発者ですが、私の会社がWebのイニシアチブを取っているので、このWebのものに数日前に作業を開始しました。
私はASP.Netのプロジェクトを持っていて、ローカルのIISでそれをホストしたいのです。プロジェクトのプロパティ -> Webの設定で、
Use Local IIS Serverを選択し、
localhost/MyAppという URL を指定しました。Firefoxブラウザでアクセスしてみたところ、
HTTP Error 503.というエラーが表示されました。サービスは利用できません。
以前は他の多くのエラーが発生し、1つずつすべて修正しました。しかし、この1つで打ちのめされました。私のプロジェクトでは、次のような設定になっています。
1.アプリケーションプールはASP.Net v4.0 Classicに設定されています。
2.App Pool Enable 32 bit Application
プロパティは true です。
3.App Poolを起動します。
4.プロジェクトのビルドプロパティをターゲットフレームワークの「Any CPU」に設定する。
しかし、奇妙な動作があることに言及したいと思います。以下は、私が直面していることです。
1.アプリケーションプールが起動する
2.自分のローカルサイトにアクセスしようとする(localhost/MyApp
のようなurlを与える)。
3.HTTP Error 503.というエラーが表示されます。サービスは利用できません。
4.アプリケーションプールが停止している
以下のリンク]1を拝見し、すでに試しています。上記の動作については、こちらにたどり着きました。このリンクによると、コンピュータ名には .
が入ってはいけないようです。私のコンピュータ名には .
はありませんが、-
が入っています。また、私のドメイン名には .
が含まれています。また、私の会社のラップトップで、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");
}
**更新情報
Commentの提案通り、Cassiniからウェブサイトを実行できるようになりました。
この現象が発生する理由として考えられるのは、IISのアプリケーションプールが何らかのカスタムアカウントで実行されるように設定されており、このアカウントが存在しないか、間違ったパスワードが提供されているか、パスワードが変更されていることです。IISのアプリケーションプールの詳細プロパティで、どのアカウントを使用するかを確認する。
また、イベントログには、アプリケーションプールが最初のリクエストですぐに停止する理由についての詳細な情報が含まれている可能性があります。
わかりました。特定のケースについて別の解決策があります。WINDOWS10を使用し、最近(Anniversary Updateパッケージで)更新した場合は、以下の手順に従う必要があります。
1。 Windowsイベントビューア
を確認します-Win + Rを押して次のように入力します: eventvwr
、次にENTERを押します。
2。 Windowsイベントビューア
の左側にある Windowsログ
->をクリックします。 アプリケーション
。
3。 次に、中央のウィンドウでソース IIS-W3SVC-WP
のエラーを見つける必要があります。
4。 おそらく次のようなメッセージが表示されます。
モジュールDLL>> path-to-DLL<<読み込みに失敗しました。 データはエラーです。
5。 コントロールパネル
に移動する必要があります-> 「プログラムと機能」と、どのdllをロードできないかに応じて、別のモジュールを修復する必要があります。
-rewrite.dll
の場合- IIS URL書き換えモジュール2 を見つけて、[変更]-> 修復
をクリックします。
-aspnetcore.dll
の場合- Microsoft .NET Core 1.0.0-VS 2015ツーリングを検索します。 ...をクリックし、[変更]-> 修復
をクリックします。
6。 コンピュータを再起動します。
私も同じ問題に直面し、イベントログを使用してデバッグしました。まず、次のように表示されました: "ソースMicrosoft-Windows-WASからのイベントID 5059の記述が見つかりません".
そこで、Windowsの機能をオン/オフするを使ってWASをオンにしました。すると、eventvwrでこのように表示されました。 "Microsoft-Windows-DistributedCOM cannot be found"。
最終的にはあきらめて、App Pool(ウェブサイトにアクセスすると停止していたもの)を削除し、そのまま再度作成しました。これで問題は解決しました。
Windows 10を使用してここに来て、記念日の更新に更新した後、このリンクを確認してください。
リンクがダウンした場合: イベントログに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 ...".
ほとんどの場合、AppPool設定が原因で発生しました。
これを解決するには、以下を確認してください。
1。 Apppoolサービスが実行されていることを確認します。 2。 AppPoolのIDを確認します。 3。 IDが変更された場合は、新しいパスワードを入力します。
次の画像は、これらの設定をIISで示しています。
。。
McAfee HIPSを導入している場合で、イベントビューアのアプリケーションログに以下のエラーが表示される場合。
モジュールDLL C:\WindowsSystem32⇄HipIISEngineStub.dll failed to load.
データはエラーです。
すると、私の場合、以下のように解決しました。 https://kc.mcafee.com/corporate/index?page=content&id=KB72677&actp=LIST
ページより引用
1.スタート→ファイル名を指定して実行→エクスプローラと入力→OKをクリックします。 2.に移動します。windir%system32³³³³config 3.3. メモ帳でファイル applicationHost.config を Administrator で開き、編集します。 4.4.
セクションを編集し、以下の行を削除する。
<add name="MfeEngine" image="%windir%System32³³³³HipIISEngineStub.dll" />.LT;Add name="MfeEngine" image="MfeEngineStub" />
5.
セクションを編集し、以下の行を削除します。 6. applicationHost.config ファイルの編集が完了したら、ファイルを保存し、iisreset を使用して IIS サーバーを再起動するか、システムを再起動します。
iis 8.5でも同じ問題がありました。 Windowsログ->アプリケーションの下でeventViewerを検索した後、「C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0」にある.netフレームワークのmachine.configファイルのアクセス許可エラーがあることに気付きました。 .30319 \ Config \ machine.config」。 IIS_IUSRSの許可を与えると、問題が解決しました(ファイル->プロパティ->セキュリティ-> edit--> add-> IIS_IUSRSを右クリックします)。
私も同様の問題を抱えていました。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をスクレイピングし、この悪い要素を挿入し、手動で削除するまで解決しませんでした。
不足しているファイルが「cgi.dll」、つまり「イベントビューア」にある場合は、これらの「記念日更新」の問題に追加するだけです(Microsoftに感謝します)。
The Module DLL C:\WINDOWS\System32\inetsrv\cgi.dll failed to load. The data is the error.
次にこれを修正します。
1。 「IIS Manager」に移動します。
2。 [接続]パネルの一番上の行を選択します(通常はPC名)。
3。 右側のパネルの最下部にある[管理]の下に、[Webプラットフォームインストーラ]が必要です。
4。 読み込まれたら、[製品]を選択します。
5。 cgi
の検索タイプで、< Enter>
を押します。
6。 [IIS:CGI]を選択し、右側の[追加]をクリックし、最後に下部の[インストール]をクリックします。
7。 インストール後、PCを再起動する必要があり、修正する必要があります。