1つのWebサイトのsystem.web/processModel/maxAppDomains = 1
を明示的に制限する必要がある状況があります。問題は、system.web/processModel
はデフォルトでmachine.configレベルでのみ設定できることです。
<configuration>
<configSections>
<sectionGroup name="system.web">
<section name="processModel" allowDefinition="MachineOnly" />
</sectionGroup>
</configSections>
<configuration>
%windir%/system32/inetsvr/appcmd.exe
を使用してIIS構成設定を更新できることは知っていますが、allowDefinition
セクション定義のprocessModel
属性を更新する方法が見つかりません。誰かが私を指すことができますかここで正しい方向ですか?
ありがとう
wMIプロバイダーの使用:
' SetAllowDefinition is a static method, you should call it by getting a class object, as in the following example
Set oAnonAuth = oWebAdmin.Get("AnonymousAuthenticationSection")
oAnonAuth.SetAllowDefinition "MachineOnly"
私の理解に基づくと、AllowDefinitionを[AppHostOnly]または[MachineToApplication]の値に設定することに興味があると思います。
参照: http://msdn.Microsoft.com/en-us/library/bb386461(v = vs.90).aspx
注:ProcessModelSectionクラスへの変更は、設定が変更された直後ではなく、ワーカープロセスが再起動されたときにのみ有効になります。
次のコードを使用して、maxAppDomain = 1を現在のWebアプリに設定しました。「ただし、パスを指定することで、任意の.configファイルに変更できます」
System.Configuration.Configuration configuration = WebConfigurationManager.OpenWebConfiguration("");
System.Web.Configuration.ProcessModelSection processModelSection =
(ProcessModelSection)configuration.GetSection("system.web/processModel");
processModelSection.MaxAppDomains = 1;
それがお役に立てば幸いですが、質問の要件をさらに明確にする必要があるため、いくつかのことを想定する必要がありました。
Machine.configファイルを直接編集してみましたか? machine.configファイルで問題が発生するたびに、ファイルを直接編集しました。