質問

特定のWebサイトの既定のアプリプールではなく、名前付きのアプリケーションプールにアプリケーションをインストールするようにVisual Studio 2005 Web展開プロジェクトを構成する方法はありますか?

役に立ちましたか?

解決

カスタムアクションについて説明する良い記事があります: ScottGuのブログ

あなたが尋ねた質問は、「Ryan」によるコメントの途中で答えられます。残念ながら、それは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