Modification du pool d'applications via un projet de déploiement Web
-
03-07-2019 - |
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é?
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.