0

我有以下代码,当点击链接供用户保存时,它会返回一个 .CSV 文件:

public FileContentResult DownloadCSV()
{
    StringBuilder sb = new StringBuilder();
    var props = typeof(PenCalcModel).GetProperties();
    var penSummary = PenSummaryReport(new DateTime(DateTime.Today.Ticks, DateTimeKind.Utc), new DateTime(DateTime.Today.AddDays(1).Ticks, DateTimeKind.Utc), "");

    foreach (PenCalcModel item in penSummary)
    {
        sb.Append(string.Join(",", props.Select(p=>p.GetValue(item,null).ToString())));
        sb.AppendLine();
    }

    return File(new System.Text.UTF8Encoding().GetBytes(sb.ToString()), "text/csv", "PenReport.csv");
}

有没有一种方法可以将它设置为每隔 X 小时从服务器将完全相同的 .CSV 文件导出到网络驱动器?

4

2 回答 2

3

将任何内容设置为计划任务/作业不应该是 Web 应用程序的责任。该应用程序可以随时回收,甚至可能中断该工作。这些类型的实现应该是 Windows 服务或服务器上某种基于任务的作业的责任。简短的回答,不要在网络应用程序中执行此操作。

于 2012-06-20T01:38:54.290 回答
1

我可能会使用 powershell 脚本来下载内容并使用计划的 windows 任务来触发它。这个问题有几个下载内容的例子:download url content

于 2012-06-20T02:12:32.963 回答