'/Site/login.aspx'の仮想パスを持つアプリケーションプールの1つにアプリケーションがあります。削除したいのですが、コンピューターに存在しなくなり、AppFabricのセットアップで問題が発生します。
IISでアプリケーションを再作成し、[削除]をクリックすると、これらのファントムアプリケーションを削除できることを理解しています。これにより、プールからアプリケーションが削除されますが、この場合、アプリケーションを再作成できません仮想パスの/login.aspxが原因
この誤ったエントリを削除する方法はありますか?
ありがとう
同じ問題があったので;もう存在しないアプリケーションを含むアプリケーションプール、私はいくつかの調査を行い、最終的に問題を解決することができました。
ここにいくつかのステップがあります:
<application ...>
XMLノード内のどこかに配置する必要があります。<application ...>
ノードを削除します。うまくいきました。うまくいかない場合は、ここにコメントを投稿してください。よい助けは IISフォーラム)へのこの投稿 でした。
これはおそらく、applicationHost.configを編集するよりも安全で簡単です。
Powershell
PS C:\Windows\system32> import-module WebAdministration
PS C:\Windows\system32> iis:
PS IIS:\> cd .\AppPools
PS IIS:\AppPools> ls
PS IIS:\AppPools> del [name of phantom AppPool]
子アプリケーションは自動的に削除されず、IISマネージャはそれらをツリーに表示できないので、それが問題です...
すばやく確実な方法は、PowerShellスクリプトを使用してすべてのアプリケーションを取得し、物理パスがまだ存在するかどうかをテストし、存在しない場合はアプリケーションを削除することです。
# This is for IIS 7, make sure the snap-in is installed first: https://www.iis.net/downloads/Microsoft/powershell
Add-PSSnapin WebAdministration
# Get all IIS sites
Get-ChildItem IIS:\Sites | foreach {
$site = $_;
# Get all applications without existing physical path
$applications = Get-ChildItem $site.PsPath | Where-Object { $_.NodeType -eq "application" -and (Test-Path $_.PhysicalPath) -eq $False };
# List all phantom applications
$applications | FT
# Remove applications
$applications | Remove-WebApplication -Site $site.Name
}
これを修正する簡単な方法があります。
はるかに簡単:
ApplicationHost.configを手動でいじりたくなかったので、上記の2つの回答を組み合わせて実行しました。
ステップ1-一時的なアプリプールを作成します-「temp」としましょう。
手順2-すべてのファントムアプリケーションをこの一時アプリプールに移動します。
ステップ3-上記の回答の1つからPowershellを使用する-
Powershell
PS C:\Windows\system32> import-module WebAdministration
PS C:\Windows\system32> iis:
PS IIS:\> cd .\AppPools
PS IIS:\AppPools> ls
PS IIS:\AppPools> del [name of phantom AppPool]
出来上がり!
MetaBase.xmlを直接編集しないのはなぜですか?もちろん、その前にバックアップしてください。
または、「一時」プールを作成し、他のすべてのアプリをそこに移動し、元のプールを削除して、(必要に応じて)新しいプールの名前を変更します。