我有以下代码,当单击链接以供用户保存时,它会返回.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文件?
答案 0 :(得分:3)
将任何设置为计划任务/作业都不应该是Web应用程序的责任。该应用程序可以随时回收,甚至可以中断该工作。这些类型的实现应该是Windows服务或服务器上某种基于任务的作业的责任。简短的回答,不要在网络应用程序中这样做。
答案 1 :(得分:1)
我可能会使用powershell脚本来下载内容,并使用预定的Windows任务来触发它。在此问题中有几个下载内容的示例:download url content