我的解决方案中有3个项目:
我的计划程序使用WCF服务功能,并在计划程序决定时运行它们。
所有这一切都运行正常,并且知道我添加新的项目Windows服务,他的目的是每次启动PC时启动调度程序,这里我失败了。
我从未使用过Windows Service母猪我是新手。我在WindowsService中添加了Scheduler的引用,但仍无法找到运行它的方法。
我会很高兴得到任何帮助。
这是我尝试的代码。
我的WindowsService项目
My namespace WindowsService
{
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
// Scheduler myscheduler = new Scheduler();
// Scheduler.SchedulerForm myForm = new Scheduler.SchedulerForm();
}
protected override void OnStop()
{
}
}
}
我的计划程序项目(主要)
static void Main()
{
string step = "";
try
{
ServiceHost client = new ServiceHost(typeof(WcfService.Service));
try
{
using (client = new ServiceHost(typeof(WcfService.Service)))
{
step = "1";
if (client.State == CommunicationState.Faulted)
{
step = "2";
System.Windows.Forms.MessageBox.Show(step);
System.Windows.Forms.MessageBox.Show("Faulted state. " + step);
client.Abort();
}
client.Open();
SysTrayApp();
Application.Run();
}
}
catch (Exception ex)
{
if (client.State == CommunicationState.Faulted)
{
step = "Faulted";
System.Windows.Forms.MessageBox.Show(step);
client.Abort();
client = new ServiceHost(typeof(WcfService.Service));
}
}
}
catch (Exception ex)
{
System.Windows.Forms.MessageBox.Show(ex.Message + " " + ex.Source + " " + ex.StackTrace);
}
}