Я видел другие посты по этому поводу, но предложенные ими решения не сработали.Я попытался установить exe режима Release и попытался добавить:
<runtime>
<generatePublisherEvidence enabled="false"/>
</runtime>
в app.config.Предположительно, он должен подождать 30 секунд до истечения времени ожидания и сбоя, но это происходит почти сразу после запуска службы.
My main()
выглядит так:
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new ReportGeneratorService()
};
ServiceBase.Run(ServicesToRun);
}
Мой класс обслуживания выглядит следующим образом:
public partial class ReportGeneratorService : ServiceBase
{
private Timer workTimer;
private JobQueue jq = new JobQueue();
public ReportGeneratorService()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
base.OnStart(args);
workTimer = new Timer(new TimerCallback(LoadAndExecuteJobs), null, 0, 60*1000);
}
protected override void OnStop()
{
workTimer.Dispose();
base.OnStop();
}
private void LoadAndExecuteJobs(object state)
{
if (jq.JobStatusID != 2)
{
jq.LoadJob();
jq.ExecuteJob(ConfigurationManager.AppSettings.Get("TempReportFolder"));
}
}
}