每小时安排rdlc报告 [英] scheduling rdlc report every hour

查看:48
本文介绍了每小时安排rdlc报告的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述





我想在报告查看器中自动生成PDF报告并将其附加到电子邮件中。

我想运行这个每天任务没有任何用户互动到网站。



我试过这个:



System.Timers.Timer myTimer = new System.Timers.Timer();

myTimer.Elapsed + = new System.Timers.ElapsedEventHandler(myEvent);

myTimer.Interval = 60000;

myTimer.Enabled = true;



private void myEvent(object source,System.Timers.ElapsedEventArgs e)

{

if(DateTime.Now.Hour> = 6)

{

SendEmailTimer();

}

}



public static void SendEmailTimer()

{

ReportViewer viewer = new ReportViewer();

viewer.LocalReport.ReportPath =abc.rdlc;

viewer.ProcessingMode = ProcessingMode.Local;

viewer.LocalReport.SetParameters(new ReportParameter(ReportName,R eport ABC));

viewer.LocalReport.DataSources.Add(new ReportDataSource(DataSet,GetData()));

bytes = viewer.LocalReport.Render (PDF,,out mimeType,out encoding,out extension,out streamids,out warnings);

fs = new System.IO.FileStream(HttpContext.Current.Server.MapPath( 〜/ Files / abc.pdf),System.IO.FileMode.Create);

fs.Write(bytes,0,bytes.Length);

fs。关闭();

}



请帮助,



谢谢,

Piyush

Hi,

I want to auto generate PDF report in report viewer and attached it to email.
I want to run this task daily without any user interaction to website.

I tried this:

System.Timers.Timer myTimer = new System.Timers.Timer();
myTimer.Elapsed += new System.Timers.ElapsedEventHandler(myEvent);
myTimer.Interval = 60000;
myTimer.Enabled = true;

private void myEvent(object source, System.Timers.ElapsedEventArgs e)
{
if (DateTime.Now.Hour >= 6)
{
SendEmailTimer();
}
}

public static void SendEmailTimer()
{
ReportViewer viewer = new ReportViewer();
viewer.LocalReport.ReportPath = "abc.rdlc";
viewer.ProcessingMode = ProcessingMode.Local;
viewer.LocalReport.SetParameters(new ReportParameter("ReportName", "Report ABC"));
viewer.LocalReport.DataSources.Add(new ReportDataSource("DataSet", GetData()));
bytes = viewer.LocalReport.Render("PDF", "", out mimeType, out encoding, out extension, out streamids, out warnings);
fs = new System.IO.FileStream(HttpContext.Current.Server.MapPath("~/Files/abc.pdf"), System.IO.FileMode.Create);
fs.Write(bytes, 0, bytes.Length);
fs.Close();
}

Please help,

Thanks,
Piyush

推荐答案

制作一个Windows服务。其中设置计时器并安排一小时,其中包括邮件代码。
Make a windows service. in which set timer and schedule it for an hour which includes code for mail.


这篇关于每小时安排rdlc报告的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆