Запустить выполнение метода через x секунд в коде позади - ASP.NET/C# - PullRequest
2 голосов
/ 31 июля 2010

Через x секунд, после загрузки страницы мне нужно выполнить метод в коде позади.Я не могу переместить эту логику в JS.

Нужно ли использовать для этого делегаты / события?Кто-нибудь может привести пример (желательно с фрагментом кода) ??

Ответы [ 2 ]

3 голосов
/ 31 июля 2010

Установите счетчик в JS, который измеряет X секунд. Как только он достиг своей отметки, он должен отправить сообщение через AJAX обратно на сервер, и сервер выполняет метод.

Это единственный способ гарантировать, что счет этих секунд будет точным до , когда страница завершит загрузку . Если вас не очень заботит точность, просто попросите сервер отключить метод через x секунд после отправки страницы.

2 голосов
/ 31 июля 2010

Лучшим решением будет использование javascript, чтобы вызвать обратную передачу или отправить запрос AJAX на сервер после истечения X секунд.

Из-за жизненного цикла страницы ASP.NETстраниц, вы не можете сделать это непосредственно из кода.Вы можете просмотреть эту статью для получения дополнительной информации о ASP.NET Page Lifecycle .

Я бы добавил немного JavaScript, который использует " SetTimeout " для запускаВызов метода JS, который либо выполняет запрос Ajax, либо инициирует обратную передачу, в зависимости от того, что вы делаете.

Редактировать

На основе дополнительной информации, которую вы вводите вкомментарии к посту я бы порекомендовал модифицированный подход.Если все, что вы делаете, это запускаете другое окно, и вы хотите отложить эту логику.

Вместо прямого вызова window.open или как вы это делаете.Просто поместите этот код в код, который будет вызываться с использованием метода SetTimeout, как я упоминал ранее.Нет необходимости привлекать серверную сторону вообще.

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