Как выполнить сценарий powershell для IIS-прогрева asp.net 4.0 - PullRequest
4 голосов
/ 14 июня 2011

Может кто-нибудь сказать мне, как сценарий powershell IIS использовать механизм прогрева asp.net 4.0?

Я создал этот сценарий powershell, но, похоже, он ничего не записывает вфайл applicationHost.config: (пытаюсь реализовать шаг 3 здесь, но с помощью Powershell: http://weblogs.asp.net/gunnarpeipman/archive/2010/01/31/asp-net-4-0-how-to-use-application-warm-up-class.aspx)

Import-Module WebAdministration

$SiteName="Default Web Site"
$ApplicationName=“WebOne“

Add-WebConfiguration "system.applicationHost/sites/site[@name='Default Web Site']/application[@path='WebOne']" -Value @{serviceAutoStartEnabled="true";serviceAutoStartProvider="PreWarmMyCache"} -PSPath IIS:\Sites\$SiteName\$ApplicationName -Location $SiteName/$ApplicationName

Я пытаюсь добавить эти два (2) свойства ( serviceAutoStartEnabled="true" and serviceAutoStartProvider="PreWarmMyCache"):

например:

<application path="/" serviceAutoStartEnabled="true" serviceAutoStartProvider="PreWarmMyCache" />:

К моему текущему пути к приложению:

<sites>
     <site name="Default Web Site" id="1">
                <application path="/WebOne" applicationPool="ASP.NET v4.0">
                    <virtualDirectory path="/" physicalPath="C:\NetProjects\WebOne" />
                </application>         
     </site>
</sites>

Мне также потребуется сценарий powershell:: http://weblogs.asp.net/gunnarpeipman/archive/2010/01/31/asp-net-4-0-how-to-use-application-warm-up-class.aspx)

<serviceAutoStartProviders>
     <add name="PreWarmMyCache" type="PreWarmCache, MyAssembly" />
</serviceAutoStartProviders>

Любая помощь будет очень полезна .-

Я уже написал в PowerShell этот сценарий ниже, который также необходим, но мне нужен материалвыше (serviceAutoStartEnabled = "true" и serviceAutoStartProvider = "PreWarmMyCache"), о котором я упоминал .-

#Load IIS Modules
Import-Module WebAdministration   

if (Test-Path IIS:\AppPools\SosSWarmUpWorkerProcess)
{
    #Let's delete the entry if it's already there ( while deploying between versions )
    Remove-Item IIS:\AppPools\SosSWarmUpWorkerProcess -Force -Recurse
}

$myNewPool = New-Item IIS:\AppPools\SosSWarmUpWorkerProcess  
$myNewPool.managedRuntimeVersion = "4.0"
$myNewPool.startMode="AlwaysRunning"

$myNewPool | Set-Item

1 Ответ

0 голосов
/ 01 апреля 2013

Мне не удалось найти параметр New-Item или New-WebApplication, который бы позволял вам настроить автозапуск для нового приложения.Но вы можете установить свойство после создания приложения:

$vdirPath = Join-Path "IIS:\Sites" (Join-Path $iisSite $virtualDirectoryName)
New-Item $vdirPath -physicalPath $webSitePath -type Application 
Set-ItemProperty $vdirPath -name serviceAutoStartEnabled -value "true"
Set-ItemProperty $vdirPath -name serviceAutoStartProvider -value "PreWarmMyCache"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...