2013-05-16 3 views
2

다음 코드를 사용하여 IIS 7의에서 사용할 수있는 사이트 이름을 얻으려고합니다. 내 PC에사이트 이름이 C#의 Microsoft.Web.Administration.dll에 잘못 표시됩니다?

using (ServerManager serverManager = new ServerManager()) 
{ 
    var sites = serverManager.Sites; 
    foreach (Site site in sites) 
    { 
     ret.Add(site.Name);                
    } 
} 

은 IIS 7에서 사용할 수있는 사이트 이름은 정확히 보여주고있다,하지만 난 내 동료의 PC에 그 EXE를 실행하려고하면, 사이트 이름이 잘못 보여주고있다. 예를 들어

: 내 동료의 PC에, 그는 실제로

  1. 기본 웹 사이트

  2. 안녕하세요처럼이 개 웹 사이트를 가지고.

하지만 그 EXE 파일을 실행하면, 두 개 이상의 웹 사이트와 같은 default website, hello, hellouser123, hellouser, sampleapp 때문에 그렇게 보여주고있다.

나는 무엇이 문제인지 알지 못합니다.

나를 안내해 줄 수 있습니까?

+0

위 코드는 정확하며 컴퓨터에 구성된 사이트의 이름을 목록에 추가하는 모든 IIS 컴퓨터에서 똑같은 방식으로 작동합니다. 어쩌면 당신은 당신의 의도가 정확한지 알 수 있습니다. 내가 생각할 수있는 유일한 다른 옵션은 "% windir % \ system32 \ inetsrv"대신 IIS Express 버전을 사용하여 잘못된 Microsoft.Web.Administration을 참조하는 것입니다. –

답변

0

코드는 코드를 실행하는 컴퓨터에 대한 사이트 이름 의 목록을 반환합니다. 동료가 코드를 실행하면 IIS 웹 사이트 이름이 자신의 컴퓨터가 아닌 컴퓨터에 표시되므로 사이트 이름은 IIS 사이트를 설정하는 방법에 따라 달라질 수 있습니다.

특정 IIS 인스턴스에 사이트 목록을 표시하려면 특정 컴퓨터의 특정 IIS 인스턴스에 연결하도록 코드를 지정해야합니다. 이 작업을 수행하려면 ServerManager.OpenRemote()을 사용할 수 있습니다.

관련 문제