我有下面的代碼,當點擊一個鏈接,用戶可以保存返回.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");
}
有沒有一種方法,我可以將它設置成有出口這種完全相同的.CSV文件從服務器到網絡驅動器每X小時?
是的,有用戶點擊鏈接每X小時!開玩笑。你能否澄清你的意思是「出口」?從哪裏出口到哪裏?如果通過導出,你的意思是下載,那麼下載是從客戶端發起的,所以你不能在服務器上做任何事情來幫助它。另一方面,在客戶端上,您可以創建一項工作,一項服務,一種可爲您每小時下載x的腳本。 –
@zespri從服務器導出到聯網驅動器。更具體地說:Web應用程序在Sybase數據庫上運行LINQ-to-Entities查詢,將生成的IEnumerable轉換爲該.CSV文件。 – Kittoes0124
最簡單的(就開發工作而言)將是創建一個獨立的應用程序來執行導出操作,並將Windows任務計劃程序作業設置爲按計劃運行。 –