global.asax для проверки файлов в папке и копирования, если папка пуста - PullRequest
0 голосов
/ 28 марта 2012

У меня есть приложение MVC3 с некоторыми файлами XML в папке App_Data. Чтобы предотвратить перезапись этих файлов новыми сборками, группа, ответственная за публикацию в Интернете, предлагает добавить некоторый код в файл Global.asax, чтобы проверить, при запуске приложения, существуют ли файлы в App_Data, и затем обновить файлы из другой папки (XML_Templates), ТОЛЬКО если они НЕ существуют в папке App_Data. Любое предложение, как я могу кодировать эту логику в файле Global.asax? Заранее спасибо.

1 Ответ

2 голосов
/ 28 марта 2012
protected void Application_Start()
{
    ...

    var appData = Path.Combine(HostingEnvironment.ApplicationPhysicalPath, "app_data");
    var xmlTemplates = Path.Combine(HostingEnvironment.ApplicationPhysicalPath, "XML_Templates");

    foreach (var file in Directory.EnumerateFiles(xmlTemplates))
    {
        var dest = Path.Combine(appData, Path.GetFileName(file));
        if (!File.Exists(dest))
        {
            File.Copy(file, dest);
        }
    }
}
...