2012-01-04 3 views
3

C# 및 Microsoft.Web.Administration 어셈블리를 통해 ISAPI 필터를 추가/구성하려고합니다. 지금까지 단일 웹 사이트에 ISAPI 필터를 추가 할 수 없었습니다.Microsoft.Web.Administration을 사용하여 기존 사이트에 ISAPI 필터 추가

IIS 전체에 대한 전역 설정에서 추가하기 위해 방금 this Article (http://www.iis.net/ConfigReference/system.webServer/isapiFilters)이 발견되었습니다. 특정 사이트에서만 필요합니다. IIS 7.5를 사용하고 있습니다. 당신이를 조회 할 수 있습니다 당신은 사이트 이름을 알고 있지만 사이트 ID (또는 IIS 번호)를 알 수없는 경우

ServerManager serverManager = new ServerManager(); 

Configuration config = serverManager.GetApplicationHostConfiguration(); 

// Change this line:  
ConfigurationSection isapiFiltersSection = 
          config.GetSection("system.webServer/isapiFilters"); 

// To this by adding an extra param specifying the site name: 
ConfigurationSection isapiFiltersSection = 
       config.GetSection("system.webServer/isapiFilters", "my site name"); 


ConfigurationElementCollection isapiFiltersCollection = 
          isapiFiltersSection.GetCollection(); 

ConfigurationElement filterElement = 
         isapiFiltersCollection.CreateElement("filter"); 
filterElement["name"] = @"SalesQueryIsapi"; 
filterElement["path"] = @"c:\Inetpub\www.contoso.com\filters\SalesQueryIsapi.dll"; 
filterElement["enabled"] = true; 
filterElement["enableCache"] = true; 
isapiFiltersCollection.Add(filterElement); 

serverManager.CommitChanges(); 

:

+0

[여기] (http://forums.iis.net/t/1149623.aspx)은 당신이 무엇을 수행하는 방법을 보여줍니다 소스와 IIS.net 포럼에서 좋은 스레드 후. –

답변

2

당신은 주어진 예 (인라인 주석 참조) 조정할 필요 수행하여 이름 :

int iisNumber = 12345; 
string siteName = serverManager.Sites.Single(s => s.Id == iisNumber).Name; 
관련 문제