Изменение пула приложений через проект веб-развертывания

StackOverflow https://stackoverflow.com/questions/167232

Вопрос

Есть ли способ настроить проект веб-развертывания Visual Studio 2005 для установки приложения в именованный пул приложений, а не в пул приложений по умолчанию для данного веб-сайта?

Это было полезно?

Решение

Здесь есть хорошая статья, описывающая пользовательские действия: Блог ScottGu

На ваш вопрос ответили примерно в середине комментария «Райан», к сожалению, это на VB, но это не должно быть сложно перевести:

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

... Где APPPOOL предоставляется в качестве аргумента в настраиваемом действии.

Другие советы

Вы можете использовать CustomAction для изменения IIS во время развертывания. Вот статья, как это сделать: Изменение информационных служб Интернета во время развертывания с помощью настраиваемых действий

Пример в статье представлен на VB.Net и не показывает явно, как изменить пул приложений, но это должно быть легко выяснить.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top