문제

C#에서 IIS 대사를 백업하는 방법을 설명하는 스택 오버 플로우 질문을 찾았습니다. 여기, 그리고 나는 참조 된 코드를 사용하여 작동하는 데 성공했습니다. 여기. 그러나 C# 코드를 사용하여 해당 백업 (또는 실제로 IIS에서 수동으로 생성 된 백업)을 복원하는 데 어려움이 있습니다.

누구 든지이 작업을 수행하는 방법, 또는 수행 할 수있는 방법을 아는 사람이 있습니까? 백업 자체와 달리 웹 에서이 예를 찾을 수 없었습니다.

다음 코드를 시도했지만 오류를받습니다. '호출 목표에 의해 예외가 발생했습니다'

using (DirectoryEntry localhostIIS = new DirectoryEntry("IIS://LocalHost"))
{
   localhostIIS.Invoke("Restore", new object[] { string.Empty, 0, 0});
}

이제 나는 잘못된 이름 및/또는 객체 구조로 메소드를 호출한다고 확신하지만 옳은 어디서나 부르는 방법 ....

누구든지 나를 올바른 방향으로 가리킬 수 있습니까?

도움이 되었습니까?

해결책

나는 이름이 지정된 백업으로 이것을 시도했고 약간의 조정과 함께 작동하도록했습니다.

const uint MD_BACKUP_HIGHEST_VERSION = 0xfffffffe;
const uint MD_BACKUP_NEXT_VERSION = 0xffffffff;
const uint MD_BACKUP_SAVE_FIRST = 2;

using(DirectoryEntry de = new DirectoryEntry("IIS://Localhost"))
{
  // Backup using the next version number (MD_BACKUP_NEXT_VERSION)
  de.Invoke("Backup", new object[] {
      "test-backup",
      MD_BACKUP_NEXT_VERSION,
      MD_BACKUP_SAVE_FIRST
  });

  // Restore the highest version number (or specify the specific version)
  de.Invoke("Restore", new object[] {
    "test-backup",
    MD_BACKUP_HIGHEST_VERSION,
    0
  });
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top