特定の Web サイトの既定のアプリケーション プールではなく、名前付きアプリケーション プールにアプリケーションをインストールするように Visual Studio 2005 Web 配置プロジェクトを構成する方法はありますか?
7166 次
2 に答える
12
ここにカスタムアクションを説明する良い記事があります: 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がカスタムアクションの引数として提供されている場合。
于 2008-10-03T18:58:06.363 に答える
3
CustomAction を使用して、展開中に IIS を変更できます。その方法については、次の記事を参照してください: カスタム アクションを使用して展開中にインターネット インフォメーション サービスを変更する
この記事の例は VB.Net のものであり、アプリケーション プールを変更する方法を明示的に示していませんが、簡単に理解できるはずです。
于 2008-10-03T19:02:33.980 に答える