Pergunta

Existe uma maneira de configurar um projeto de implantação da web do Visual Studio 2005 para instalar um aplicativo em um pool de aplicativos nomeado em vez do pool de aplicativos padrão para um determinado site?

Foi útil?

Solução

Há um bom artigo descrevendo ações personalizadas aqui:Blog de Scottgu

A pergunta que você fez é respondida no meio dos comentários de 'Ryan', infelizmente está no VB, mas não deve ser difícil traduzir:

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

... onde o AppPool é fornecido como um argumento na ação personalizada.

Outras dicas

Você pode usar um CustomAction para modificar o IIS durante a implantação, aqui está um artigo como fazê -lo:Modificando os serviços de informação da Internet durante a implantação com ações personalizadas

O exemplo no artigo está no vb.net e não mostra explicitamente como alterar o pool de aplicativos, mas deve ser fácil descobrir.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top