Question

Existe-t-il un moyen de configurer un projet de déploiement Web Visual Studio 2005 pour installer une application dans un pool d'applications nommé plutôt que dans le pool d'applications par défaut d'un site Web donné?

Était-ce utile?

La solution

Il existe un bon article décrivant les actions personnalisées ici: Blog de ScottGu

La réponse à la question que vous avez posée est à peu près à mi-parcours des commentaires de 'Ryan', malheureusement en VB, mais cela ne devrait pas être difficile à traduire:

Private Sub assignApplicationPool(ByVal WebSite As String, ByVal Vdir As String, ByVal appPool As String)
   Try
     Dim IISVdir As New DirectoryEntry(String.Format("IIS://{0}/W3SVC/1/Root/{1}", WebSite, Vdir))
     IISVdir.Properties.Item("AppPoolId").Item(0) = appPool
     IISVdir.CommitChanges()
   Catch ex As Exception
     Throw ex
   End Try
 End Sub

 Private strServer As String = "localhost"
 Private strRootSubPath As String = "/W3SVC/1/Root"
 Private strSchema As String = "IIsWebVirtualDir"
 Public Overrides Sub Install(ByVal stateSaver As IDictionary)
   MyBase.Install(stateSaver)
   Try
     Dim webAppName As String = MyBase.Context.Parameters.Item("TARGETVDIR").ToString
     Dim vdirName As String = MyBase.Context.Parameters.Item("COMMONVDIR").ToString
     Me.assignApplicationPool(Me.strServer, MyBase.Context.Parameters.Item("TARGETVDIR").ToString, MyBase.Context.Parameters.Item("APPPOOL").ToString)
   Catch ex As Exception
     Throw ex
   End Try
 End Sub

... où APPPOOL est fourni en tant qu'argument dans l'action personnalisée.

Autres conseils

Vous pouvez utiliser un CustomAction pour modifier IIS lors du déploiement. Voici un article sur la procédure à suivre: Modification des services Internet (IIS) lors du déploiement avec des actions personnalisées

L'exemple de l'article est en VB.Net et n'indique pas explicitement comment modifier le pool d'applications, mais il devrait être facile de le comprendre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top