Служба Windows с таймером и обновлением базы данных - PullRequest
0 голосов
/ 20 октября 2018

Я не могу обновить базу данных с помощью моей службы Windows. У меня есть следующий код:

1) Запустите службы, а затем создайте таймер и установите 3 минуты для запуска метода ConsultarGroupales.

    protected override void OnStart(string[] args)
    {
        timer = new Timer(porTresMinutos);
        timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);
        timer.Enabled = true;
        timer.Start();

    }


    public void timer_Elapsed(object sender, ElapsedEventArgs e)
    {
       ConsultaGrupales();
    }

2) ConsultarGrupales этот метод выполняет хранимую процедуру и затем отправляет элемент в цикле методу EnviarGroupals

 public  void ConsultaGrupales()
    {
        Stopwatch tiempo = Stopwatch.StartNew();

        List <GroupReservationNotif> data = null;
        using (OperaEntities db= new OperaEntities())
        {

             data = (from gr in MytableInformation gr).ToList();
        }

        foreach (var item in data)
        {
             EnviarGroupals(item); 
        }

    }

3) EnviarGroupals этот метод получает объект и обновляет таблицу в БД

 public void EnviarGroupals(GroupReservationNotif groupals)
 {
         using(OperaEntities db=new OperaEntities())
         {
            db.UpdateStatusGroupReservations(IsCanceled, Id, IsCompleted, IsFaulted, Status, groupals.Resv_Name_ID, IdEstado);
         }  

 }

4) Проблема заключается в том, что сервисы выполняются корректно каждые 3 минуты, но при UpdateStatusGroupReservations повторно возникает ошибка Kernell.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...