Frage

Ich habe die Stack-Überlauf Frage beschreibt, wie gefunden für die Sicherung der IIS-Metabasis in C # hier . Aber ich habe Schwierigkeiten, diese Sicherungen (oder auch alle Sicherungen erstellt manuell in IIS) unter Verwendung von C # -Code wiederherzustellen.

Wer weiß, wie dies zu tun, oder auch wenn es getan werden kann? Ich habe nicht in der Lage gewesen, keine Beispiele dafür, die im Internet zu finden, im Gegensatz zu der Sicherung selbst.

ich den folgenden Code versucht, aber die Fehlermeldung

‚Ausnahme wurde durch das Ziel für einen Aufruf ausgelöst wurde‘
using (DirectoryEntry localhostIIS = new DirectoryEntry("IIS://LocalHost"))
{
   localhostIIS.Invoke("Restore", new object[] { string.Empty, 0, 0});
}

Jetzt, während ich bin sicher, dass ich die Methode mit dem falschen Namen und / oder Objektstruktur bin Aufruf, ich habe nicht in der Lage gewesen, es überall von dem Aufruf den richtig Weg zu finden .. ..

Kann jemand bitte mich in die richtige Richtung?

War es hilfreich?

Lösung

Ich habe versucht, dies mit einer benannten Backup und bekam dies mit einigen Verbesserungen zu arbeiten:

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
  });
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top