c# - 如何使用 C# 恢复 IIS 元数据库备份

标签 c# iis restore metabase iis-metabase

我找到了描述如何在 C# 中备份 IIS 元数据库的 Stack Overflow 问题 here ,我已经成功地使用引用的代码让它工作 here .但是,我很难使用 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
  });
}

关于c# - 如何使用 C# 恢复 IIS 元数据库备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2222646/

相关文章:

javascript - 映射文件更改时不要重新启动 IIS

c# - 为什么我的 ASP.NET 5 应用程序不能在 IIS 7.5 上运行?

MySQL 表 "doesn' t 存在”错误

Git:如何覆盖本地更改?

c# - 处理处理 IDisposable 对象的通用函数

c# - 在 Asp.Net MVC 中设置 "Homepage"

c# - 在我的 .aspx 页面上循环遍历 SQL Server 结果

c# - 使用 C# 函数检查空文本框

mongodb - 使用 "Trusted Connection"连接到 Mongo 数据库的连接字符串的语法

git - 从 bundle 备份恢复 git 存储库