2013-06-13 4 views
0

응용 프로그램 풀과 응용 프로그램을 만드는 Visual Basic 응용 프로그램이 있습니다. 64 비트 Windows 8 시스템에서 실행하면 IIS 8.0이 아닌 IIS Express 8.0에서 풀과 응용 프로그램이 만들어집니다. \ documents \ IISExpress에서 applicationhost.config를 열고 변경 사항이 있는지 확인합니다. IIS Express 대신 IIS를 대상으로하는 방법에 대한 통찰력에 감사드립니다. 구성 응용 프로그램은 일반적으로 웹 서버에서 실행되지만 개발 컴퓨터에서도 작동해야합니다. IIS 버전을 얻는 코드는 다음과 같습니다.IIS가 아닌 IIS Express를 사용하여 프로그래밍 방식으로 IIS 응용 프로그램 풀/응용 프로그램 추가

Dim rootId As DirectoryEntry = GetDirectoryEntry(String.Format("IIS://{0}/W3SVC/Info", DomainName)) 

      If rootId IsNot Nothing Then 
       Try 
        If rootId.Properties.Contains("MajorIIsVersionNumber") = True Then 
         Dim iisVal As String = rootId.Properties("MajorIIsVersionNumber").Value.ToString 

위의 DomainName에 대해 localhost와 machine name을 모두 사용하면 IIS Express에 연결됩니다. 다음은 응용 프로그램 풀을 만드는 내 기능입니다. poolName 변수를 설정하는 루프는 IIS Express를 사용하고 있는지 확인하는 데 도움이되는 디버깅 용입니다. 다시 말하지만 IIS Express에서 풀을 생성하지만 작동합니다.

Private Function GetOrCreateAppPool(ByRef mgr As ServerManager, ByVal domainPath As String, ByVal appPoolName As String, ByVal addAppPool As Boolean) As ApplicationPool 
     ' First see if app pool exists 
     Dim appPoolId As ApplicationPool = Nothing 
     Dim poolId As ApplicationPool 
     Dim poolName As String 

     For Each poolId In mgr.ApplicationPools 
      poolName = poolId.Name 
     Next 

     appPoolId = mgr.ApplicationPools(appPoolName) 

     If appPoolId Is Nothing Then 
      appPoolId = mgr.ApplicationPools.Add(appPoolName) 

      If appPoolId IsNot Nothing Then 
       With appPoolId 
        .AutoStart = True 
        .ManagedPipelineMode = ManagedPipelineMode.Integrated 
        .ManagedRuntimeVersion = "v4.0" 
        .ProcessModel.IdentityType = ProcessModelIdentityType.NetworkService 
        .ProcessModel.IdleTimeout = TimeSpan.FromMinutes(240) 
        .Recycling.PeriodicRestart.Time = TimeSpan.FromMinutes(0) 
        .Recycling.PeriodicRestart.Schedule.Add(TimeSpan.Parse("03:00:00")) 
       End With 

       mgr.CommitChanges() 
      End If 
     End If 

     Return appPoolId 
    End Function 

도움을 주시면 감사하겠습니다.

답변

0

기본적으로 Microsoft.Web.Administration은 IIS Express에서만 유효하며 버전 7.9.0.0입니다.

Microsoft.Web.Administration 7.0.0.0을 추가하면 IIS 서버를 관리 할 수 ​​있습니다. NuGet으로 쉽게 찾을 수 있습니다.

+0

NuGet 패키지는 피해야합니다. https://blog.lextudio.com/2015/05/whats-microsoft-web-administration-and-the-horrible-facts-you-should-know/ 특히 IIS 8의 경우 + 사용자. –