c# iis-7 directoryservices application-pool

c# - Crear un grupo de aplicaciones que use.NET 4.0



iis-7 directoryservices (3)

Las otras respuestas son mejores en su situación particular, pero en general tenga en cuenta que puede usar la herramienta appcmd para hacer esto: https://technet.microsoft.com/en-us/library/cc731784%28v=ws.10%29.aspx . Específicamente:

appcmd add apppool /name: string /managedRuntimeVersion: string /managedPipelineMode: Integrated | Classic

Utilizo el siguiente código para crear un grupo de aplicaciones:

var metabasePath = string.Format(@"IIS://{0}/W3SVC/AppPools", serverName); DirectoryEntry newpool; DirectoryEntry apppools = new DirectoryEntry(metabasePath); newpool = apppools.Children.Add(appPoolName, "IIsApplicationPool"); newpool.CommitChanges();

¿Cómo especifico que el grupo de aplicaciones debe usar .NET Framework 4.0?


Veo en las etiquetas que estás usando IIS7. A menos que sea absolutamente necesario, no utilice los componentes de compatibilidad de IIS6. Su enfoque preferido debería ser utilizar la API administrada de Microsoft.Web.Administration .

Para crear un grupo de aplicaciones usando esto y establecer la versión de .NET Framework en 4.0, haga esto:

using Microsoft.Web.Administration; ... using(ServerManager serverManager = new ServerManager()) { ApplicationPool newPool = serverManager.ApplicationPools.Add("MyNewPool"); newPool.ManagedRuntimeVersion = "v4.0"; serverManager.CommitChanges(); }

Debe agregar una referencia a Microsoft.Web.Administration.dll que se puede encontrar en:

%SYSTEMROOT%/System32/InetSrv


newpool.Properties["ManagedRuntimeVersion"].Value = "v4.0";

Hará lo mismo que Microsoft.Web.Administration.dll pero utilizando DirectoryEntry

también

newPool.InvokeSet("ManagedPipelineMode", new object[] { 0 });

Cambiará al modo de canalización integrado o clásico utilizando DirectoryEntry.