Domanda

Esiste un modo per configurare un progetto di distribuzione Web di Visual Studio 2005 per installare un'applicazione in un pool di applicazioni denominato anziché nel pool di app predefinito per un determinato sito Web?

È stato utile?

Soluzione

C'è un buon articolo che descrive le azioni personalizzate qui: Blog di ScottGu

Alla domanda che hai posto viene data risposta a metà dei commenti di 'Ryan', sfortunatamente è in VB, ma non dovrebbe essere difficile da tradurre:

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

... Dove APPPOOL viene fornito come argomento nell'azione personalizzata.

Altri suggerimenti

È possibile utilizzare un CustomAction per modificare IIS durante la distribuzione. Ecco un articolo su come farlo: Modifica di Internet Information Services durante la distribuzione con azioni personalizzate

L'esempio nell'articolo è in VB.Net e non mostra esplicitamente come modificare il pool di applicazioni, ma dovrebbe essere facile capirlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top