2008-10-03 28 views

Trả lời

12

Có một bài viết tốt mô tả hành động tùy chỉnh ở đây: ScottGu's Blog

Các câu hỏi mà bạn hỏi được trả lời về nửa chừng ý kiến ​​của 'Ryan', rất tiếc là trong VB, nhưng nó không phải là khó để dịch :

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 

... Trường hợp APPPOOL được cung cấp làm đối số trong Hành động tùy chỉnh.

+1

Tôi đang làm điều này cho 2 ứng dụng web trong thiết lập của mình - và nó hoạt động tuyệt vời cho "Thư mục tùy chỉnh web" là ứng dụng web thứ 2, nhưng đối với "Thư mục ứng dụng web" mà bạn nhận được theo mặc định, nó sẽ đặt nhóm ứng dụng trong hành động tùy chỉnh - nhưng sau đó đặt BACK thành ứng dụng mặc định khi hoàn thành. – Mampersat

3

Bạn có thể sử dụng một CustomAction để sửa đổi IIS trong triển khai, đây là một bài viết như thế nào để làm điều đó: Modifying Internet Information Services During Deployment with Custom Actions

Ví dụ trong bài viết là trong VB.Net, và không hiển thị một cách rõ ràng làm thế nào để thay đổi Ứng dụng Pool, nhưng nó phải dễ dàng để tìm ra nó.

Các vấn đề liên quan