怎么在服务器上让系统自动触发timer控件???? 自动触发timer控件?把timer去掉放到计划任务里自动执行 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我是新人,麻烦您说下计划任务是什么啊???服务器上有计划任务您是说去掉timer控件?那helloworld()就没法调用了呀! "让系统自动触发timer控件"拜托你有点基础行吗timer控件是在你自己做的exe所在的进程里你让系统触发它?你到底想干什么,敢不敢说清楚,不要老拍脑袋想方案 亲,我是第一次接触这些,我现在就想在服务器上,自动调用hellloworld()这个函数 启动定时器的代码放在golbal.asax里面的Application_Start里面 我现在的需求就是让系统在每周一晚上自动往外发送一些报表。在服务器上人工调试,可以产生报表并发送,但是让其自动执行时,并没产生报表,所以认为是没有调用helloworld()函数。 你先在自己机器上测试好了,再扔服务器上去.逻辑根本性错误.你机器上不能发报表,你可以把hello world函数换成messagebox.show之类的时间上也可以缩短,看到底执行不执行.你在timer里调用按钮事件,不能把timer的sender和e直接传递进去啊,你可以都传null不过最好还是把按钮里的代码封装成函数,两个地方都调用同一个函数,而不是在timer里直接调用按钮的事件还有,时间判断,你应该在timer里进行判断,等真正执行,才执行函数里的代码否则即使时间不对,也实例化一个workreportform.WebReference.WebService对象出来用完又不释放,你也不怕内存爆炸了 Timer本身就是一个计时器,你可以设置它的Interval属性(毫秒),那么就会每个这么多毫秒,执行一次Tick事件里的代码。比如你的代码,现在就可以完成定时执行helloworld方法了(前提是你的Exe已经启动了)。二楼说的方法我想需要利用winform的启动参数了。首先修改你的WinForm程序的Program.cs//Program.csnamespace CallHelloworld{ static class Program{ static string wsReferenceArg = string.Empty; [STAThread] static void Main(string[] args){ //注意此处,添加字符串数组参数 Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); wsReferenceArg = args[0]; //Helloworld方法所需的参数值。 Application.Run(new Form1(){StartupArg=wsReferenceArg}); } }}//Form1.cspublic class Form1:Form{ private string _startupArg; public string StartupArg{ set{_startupArg = value;}get{return _startupArg;} } private void Form1_Load(object sender, EventArgs e){ workreportform.WebReference.WebService a = new workreportform.WebReference.WebService(); a.Helloworld(this.StartupArg); }}下面就是Windows任务了。这个你查一下资料就好了。假设你编译后的exe文件名叫:runatserver.exe那么在Windows定时任务中(以10:09分为例)D:\runatserver.exe "BT100"。注意runatserver.exe后面有空格。 我现在的需求就是让系统在每周一晚上自动往外发送一些报表。在服务器上人工调试,可以产生报表并发送,但是让其自动执行时,并没产生报表,所以认为是没有调用helloworld()函数。建议你现在本机进行测试。看能否发送报表,之后在部署到服务器中。 写个windows service不就行了么 runatserver.exe "BT100" 是什么意思啊? 我现在的需求就是让系统在每周一晚上自动往外发送一些报表。在服务器上人工调试,可以产生报表并发送,但是让其自动执行时,并没产生报表,所以认为是没有调用helloworld()函数。建议你现在本机进行测试。看能否发送报表,之后在部署到服务器中。本地现在不能调试,需要远程调试,我不能远程登录,需要权限的, 你只要确定服务器上a.HelloWorld("BT100");能执行,本机调试的时候,根本不需要真正的执行它你可以执行个别的看效果 现在在服务器上, if (DateTime.Now.ToShortTimeString().ToString() == "10:09") { a.HelloWorld("BT100"); label1.Text = DateTime.Now.ToString(); }在10:09调试代码,整个系统可以运行,调试结果和预期也是一样地,但是在服务器上这个程序好像不能自动运行了,因为 作业 发出去的报表是旧的,应该没有调用helloworld()这个函数,想自动产生报表必须通过这个函数发送部门标号的,在服务器上自动调用这个函数是不是该把代码的 exe应用程序 通过windows任务 设置为启动项? 情况是这样地,这个系统会在每周一的晚上通过 sqlserver 里建的作业送报表,报表是通过调用数据库数据写入word模板的,而且是替换旧内容,现在报表也是可以发送的,发送是通过存储过程里的代码获取id,通过id可以获取邮箱,报表发送的都是8.24——8.30号的,出现问题后,最开始怀疑是不能往word里写数据,但在本地和服务器上调试都可以生成新报表,说明往word里写数据的代码没问题 那出现问题之后,首先应该去看你生成的文件,到底是新的还是旧的啊上面已经说清楚了,通过调用函数button1_Click(),传递参数,往word里写内容才能形成新文件,但是发现目录下文件一直是八月末的旧文件,所以确定没有新文件形成,这种情况有两种可能:(1)调用了函数button1_Click(),传递了参数(部门编号),但是调出来的数据没写进去。但是,在服务器上手动调试,可以写,形成文件,排除这种可能;(2)根本没有调用函数button1_Click(),在服务器上想自动调用这个函数,必须通过调用 private void timer1_Tick(),所以认为这出现问题 所以说,你先在本地测试,timer到底好用不好用啊而且,你在timer里调用click的事件有问题应该传入null,null,而不是sender,e 按钮好使,根本说明不了任何问题你得先确定timer好使,然后timer调按钮里的代码也好使建议还是封装成函数,按钮里和timer里都去调用函数,而不是timer事件调用按钮事件. 既然可以上网,为毛不去百度或谷歌一下呢,例子一大把。1)查一下windows计划任务2)C#定时器 timer就是一个线程,你sleep,start,abort,操作线程。 c# TCP编程 传输消息问题 ASP.NET怎么上传图片并保存到数据库中去 招工帖,有兴趣的和我联系 未能加载文件或程序集 当ListView里面甘一行被用户选中的时候的事件是什么?谢谢 大家有使用过FreeTextBox吗? 再次发 弹出确认窗口的问题 要求经过判断 小提二问(来者有分,虽然穷) tabcontrol控件的问题 数组空间分配问题:arr=new int[10];arr[1]=5;以后想把空间扩大到20,并保存原空间数据,我用arr=new int[20];arr[1]的数据没了。 一个学生管理系统的数据表设计及多表操作的问题,请教! C#界面
我是新人,麻烦您说下计划任务是什么啊???
服务器上有计划任务您是说去掉timer控件?那helloworld()就没法调用了呀!
拜托你有点基础行吗
timer控件是在你自己做的exe所在的进程里
你让系统触发它?你到底想干什么,敢不敢说清楚,不要老拍脑袋想方案
亲,我是第一次接触这些,我现在就想在服务器上,自动调用hellloworld()这个函数
我现在的需求就是让系统在每周一晚上自动往外发送一些报表。在服务器上人工调试,可以产生报表并发送,但是让其自动执行时,并没产生报表,所以认为是没有调用helloworld()函数。
逻辑根本性错误.
你机器上不能发报表,你可以把hello world函数换成messagebox.show之类的
时间上也可以缩短,看到底执行不执行.你在timer里调用按钮事件,不能把timer的sender和e直接传递进去啊,你可以都传null
不过最好还是把按钮里的代码封装成函数,两个地方都调用同一个函数,而不是在timer里直接调用按钮的事件还有,时间判断,你应该在timer里进行判断,等真正执行,才执行函数里的代码
否则即使时间不对,也实例化一个workreportform.WebReference.WebService对象出来
用完又不释放,你也不怕内存爆炸了
首先修改你的WinForm程序的Program.cs//Program.cs
namespace CallHelloworld{
static class Program{
static string wsReferenceArg = string.Empty; [STAThread]
static void Main(string[] args){ //注意此处,添加字符串数组参数
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
wsReferenceArg = args[0]; //Helloworld方法所需的参数值。
Application.Run(new Form1(){StartupArg=wsReferenceArg});
}
}
}
//Form1.cs
public class Form1:Form{
private string _startupArg;
public string StartupArg{
set{_startupArg = value;}get{return _startupArg;}
} private void Form1_Load(object sender, EventArgs e){
workreportform.WebReference.WebService a = new workreportform.WebReference.WebService();
a.Helloworld(this.StartupArg);
}
}
下面就是Windows任务了。这个你查一下资料就好了。
假设你编译后的exe文件名叫:runatserver.exe
那么在Windows定时任务中(以10:09分为例)D:\runatserver.exe "BT100"。注意runatserver.exe后面有空格。
我现在的需求就是让系统在每周一晚上自动往外发送一些报表。在服务器上人工调试,可以产生报表并发送,但是让其自动执行时,并没产生报表,所以认为是没有调用helloworld()函数。建议你现在本机进行测试。看能否发送报表,之后在部署到服务器中。
runatserver.exe "BT100" 是什么意思啊?
我现在的需求就是让系统在每周一晚上自动往外发送一些报表。在服务器上人工调试,可以产生报表并发送,但是让其自动执行时,并没产生报表,所以认为是没有调用helloworld()函数。建议你现在本机进行测试。看能否发送报表,之后在部署到服务器中。
本地现在不能调试,需要远程调试,我不能远程登录,需要权限的,
本机调试的时候,根本不需要真正的执行它
你可以执行个别的看效果
现在在服务器上, if (DateTime.Now.ToShortTimeString().ToString() == "10:09")
{
a.HelloWorld("BT100");
label1.Text = DateTime.Now.ToString();
}
在10:09调试代码,整个系统可以运行,调试结果和预期也是一样地,但是在服务器上这个程序好像不能自动运行了,因为 作业 发出去的报表是旧的,应该没有调用helloworld()这个函数,想自动产生报表必须通过这个函数发送部门标号的,在服务器上自动调用这个函数是不是该把代码的 exe应用程序 通过windows任务 设置为启动项?
(1)调用了函数button1_Click(),传递了参数(部门编号),但是调出来的数据没写进去。但是,在服务器上手动调试,可以写,形成文件,排除这种可能;
(2)根本没有调用函数button1_Click(),在服务器上想自动调用这个函数,必须通过调用 private void timer1_Tick(),所以认为这出现问题
而且,你在timer里调用click的事件有问题
应该传入null,null,而不是sender,e
你得先确定timer好使,然后timer调按钮里的代码也好使
建议还是封装成函数,按钮里和timer里都去调用函数,而不是timer事件调用按钮事件.
1)查一下windows计划任务
2)C#定时器