간단한 C# 콘솔 응용 프로그램에서 IIS 8의 모든 사이트를 표시하려고합니다. (이것은 스파이크 일 뿐이며 결국 asp.net MVC 4 응용 프로그램).IIS 8 용 Microsoft.Web.Administration이 모든 사이트를 표시하지 않습니다.
Microsoft.Web.Administration dll (C : \ Windows \ System32 \ inetsrv)을 \ References에 복사하고 거기에서 참조했습니다.
내 서버에, 3 개 사이트가 있습니다
- 기본 웹 사이트
- WebDAV를
- 열렬한 나는 모든 사이트 목록에 다음을 수행하고
:
을static void Main(string[] args)
{
using (ServerManager serverManager = new ServerManager())
{
try
{
if (serverManager != null)
{
Console.WriteLine(serverManager.Sites.ToString());
foreach (Site site in serverManager.Sites)
{
Console.WriteLine(site.Name);
Console.Read();
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.Read();
}
}
}
문제는 그쪽으로입니다. 나는이 서버에서 실행하면 t는, 그것은 단지
기본 웹 사이트
에게 표시 나는
appcmd list site
를 실행하고 세 가지를 모두 얻었다.
그럼에도 불구하고 C# 응용 프로그램에서 appcmd를 사용하여 명령 줄을 실행하는 것보다는 Microsoft.Web.Administration을 사용하는 것이 좋습니다.
왜 이런 일이 벌어 질 지에 대한 통찰력을 공유하십시오. 감사합니다. .
죄송 합니다만 바보 같은 질문이지만 루프에 console.read()가 있으므로 첫 번째 기록선 다음에 입력을 위해 일시 중지됩니다. 그런 다음 키를 입력하고 Enter 키를 누르면 앱이 종료됩니다. 문자 + char (13) + char (10)을 읽습니다. 그냥 루프 외부로 옮기십시오. –
@DavidMartin 와우. 나는 지금 어리 석다. 어제 레퍼런스에 몇 가지 다른 문제가 있었는데 해결했지만, 그 시간에 루프를 추가했고, read()를 꺼내는 것을 잊어 버린 것 같습니다. 이것은 바보입니다. 지적 해 주셔서 고마워요. – nestedloop