เรามีเว็บแอปพลิเคชั่นที่ใช้งานสูงจำนวนมากที่ทำงานบน FGDB บนแบ็กเอนด์ FGDBs ถูกลบล้างและสร้างใหม่ด้วยข้อมูลใหม่ทุกคืน เรามี. แอปคอนโซล NET ที่ฉันเขียนซึ่งใช้AGSSOMซึ่งหยุดบริการขณะที่กระบวนการอัปเดตทำงาน ลองดู AGSSOM มันเนียนดี นี่คือ C # ที่ฉันใช้ในการสำรองข้อมูล FGDB ปัจจุบันก่อนที่ฉันจะระเบิดมันออกไป:
// Only archive it FGDB already exists, if this is first run, then nothing to archive
if (Directory.Exists(String.Concat(c.fgdbDir, @"\", kvp.Key[0], ".gdb")))
{
c.msg = String.Concat(Environment.NewLine, "Archiving data for ", kvp.Key[0], " - ",
DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss tt"));
Messaging.Log(c.msg, c.lw);
// Create the FGDB folder in archive dir if not already there
if (!Directory.Exists(String.Concat(c.fgdbArchiveDir, @"\", kvp.Key[0], ".gdb")))
{
Directory.CreateDirectory(String.Concat(c.fgdbArchiveDir, @"\", kvp.Key[0], ".gdb"));
// Now copy from clips to archive
foreach (FileInfo fi in source.GetFiles())
{
fi.CopyTo(System.IO.Path.Combine(target.ToString(), fi.Name), true);
}
}
}
เพียงแค่ใช้ Directory.CreateDirectory และ FileInfo.CopyTo เพื่อคัดลอก FGDB - Windows จะเห็น FGDB เป็นเพียงโฟลเดอร์อื่น ทำงานเหมือนแชมป์ จากนั้นหลังจากกระบวนการอัปเดตเสร็จสมบูรณ์เราจะเริ่มให้บริการอีกครั้งโดยใช้แอปพลิเคชันที่ใช้ AGSSOM