global.asax用于检查文件夹中的文件,如果文件夹为空则复制

时间:2012-03-27 21:59:31

标签: asp.net-mvc-3 global-asax

我有一个MVC3应用程序,其中包含App_Data文件夹中的一些XML文件。为防止这些文件被新版本覆盖,负责发布到Web的团队建议在Global.asax文件中添加一些代码,以便在应用程序启动时检查App_Data上的文件是否已存在,然后更新仅当App_Data文件夹中不存在来自其他文件夹(XML_Templates)的文件时。 有什么建议我如何在Global.asax文件中编码这个逻辑? 提前致谢。

1 个答案:

答案 0 :(得分:2)

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);
        }
    }
}