Rajiv.net40 Ответов: 2

Как поддерживать сеанс таймера при закрытии браузеров


сэр у меня проблема в asp.net .

я генерирую случайное " нет " каждые 15 минут . он прекрасно работает до тех пор, пока я не открыл его в браузере, но я закрываю браузер и открываю его через 1 час, а затем он снова начинается с самого начала, и я этого не хочу. я написал свой код в файле Global. asax метода Application begin. и таймер помещается на странице. aspx

я хочу выполнить свою программу даже в закрытом или открытом браузере

Что я уже пробовал:

public static string lbltime2;
 public static string Label5;
 public static string Label4;
public static string lbldate;
public static string lbltime;
public static string Label1;

  protected void Application_BeginRequest(object sender, EventArgs e)
  {
      string time3 = DateTime.UtcNow.AddHours(5.5).ToString("hh:mm tt");

      if (time3 == "8:00 AM")
      {
          lbltime2 = DateTime.UtcNow.AddHours(5.5).AddMinutes(15).ToString("hh:mm tt");
          no1 = 1;
          time1 = lbltime2;
      }

      if (no1 == 0)
      {
          lbltime2 = DateTime.UtcNow.AddHours(5.5).ToString("hh:mm tt");
             // DateTime.UtcNow.AddHours(5.5).AddMinutes(4).ToString("hh:mm tt");
          no1 = 1;
          time1 = lbltime2;
      }

      else
      {
          lbltime2 = time1;
          //lblcode = code;
          //Label2 = code2;
          //Label3 = code3;
            Label4 = code4;
            Label5 = code5;

      }

      lbldate = DateTime.UtcNow.AddHours(5.5).ToString("dd-MMM-yyyy");
     lbltime = DateTime.UtcNow.AddHours(5.5).ToString("hh:mm tt");
     Label1 = DateTime.UtcNow.AddHours(5.5).ToString("hh:mm:ss tt");
     Application["lbldate"] = lbldate;
     Application["lbltime"] = Label1;

      string time4 = DateTime.UtcNow.AddHours(5.5).ToString("hh:mm tt");

      if (Convert.ToDateTime(time4) > Convert.ToDateTime(lbltime2))
      {
          lbltime2 = DateTime.UtcNow.AddHours(5.5).AddMinutes(15).ToString("hh:mm tt");
          time1 = lbltime2;
          test();

      }

      if (DateTime.UtcNow.AddHours(5.5).Hour >= 22 || DateTime.UtcNow.AddHours(5.5).Hour <= 7)
      {
          lbltime2 = "8:15 AM";
      }
      else


      {
          // lbltime2.Text = DateTime.Now.ToString("hh:mm tt");
          string time = time1;
          if (time1 == lbltime)
          {
              Application["lbldtime"] = time1;
              test();
          }
      }

      Application["lblntime"] = lbltime2;



  }

2 Ответов

Рейтинг:
0

njammy

Этот код выглядит очень запутанным, и я уверен, что вы можете использовать экземпляр класса Timer в отдельном процессе на сервере, который вы можете вызвать и получить доступ, когда вашему приложению это нужно/


системы.таймеры.таймер
[^]


Рейтинг:
0

ZurdoDev

Если вы хотите сохранить код запущенным и быть последовательным, то не используйте ASP.Net. Это неправильная технология. Напишите консольное приложение, а затем запланируйте его с помощью планировщика задач или напишите службу Windows.