写个服务器程序,OnStart方式里面不能写死循环吗?

txh2002 2015-10-26 02:51:53
写个服务器程序,OnStart方式里面不能写死循环吗?
protected override void OnStart(string[] args)
{
bool k1 = false;
while (true)
{
if (k1 == false)
{

Process p = new Process();

string str="test.exe";
p.StartInfo.FileName = str;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.Start();
k1 = true;
}
if (DateTime.Today.DayOfWeek==DayOfWeek.Monday||DateTime.Today.DayOfWeek==DayOfWeek.Wednesday||DateTime.Today.DayOfWeek==DayOfWeek.Friday)
{
k1=false;
}
System.Threading.Thread.Sleep(5000);

}
}
...全文
93 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
另外,不要使用 System.Threading.Thread.Sleep(5000) 这种东西。使用定时器。.net 的定时器不消耗资源,不随便使用线程。
  • 打赏
  • 举报
回复
windows再启动服务时,最多等待很短时间,然后就会报告服务启动失败。 因此你的OnStart 应该确保1、2秒钟内必定结束。我们通常保证(在任何情况下都是)100毫秒内一定结束。
exception92 2015-10-26
  • 打赏
  • 举报
回复
死循环 会造成 线程阻塞 ,程序不会继续执行。
feiyun0112 2015-10-26
  • 打赏
  • 举报
回复
代码放到一个新线程中运行

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧