Page.AsyncTimeout Özellik

Tanım

Zaman uyumsuz görevleri işlerken kullanılan zaman aşımı aralığını gösteren bir değer alır veya ayarlar.

C#
[System.ComponentModel.Browsable(false)]
public TimeSpan AsyncTimeout { get; set; }

Özellik Değeri

TimeSpan Zaman uyumsuz görevin tamamlanması için izin verilen zaman aralığını içeren bir. Varsayılan zaman aralığı 45 saniyedir.

Öznitelikler

Özel durumlar

özelliği negatif bir değere ayarlandı.

Örnekler

Aşağıdaki kod örneği, ve RegisterAsyncTask yöntemleriyle ExecuteRegisteredAsyncTasks özelliğinin AsyncTimeout kullanımını gösterir. Başlangıç, bitiş ve zaman aşımı işleyicilerinin kullanımına dikkat edin. Örnekte, zaman uyumsuz bir görevin, özelliğinde belirtilen görev için ayrılan süreyi aşma durumunu göstermek için yapay bir gecikme ortaya AsyncTimeout çıkar. Gerçek dünya senaryosunda, örneğin veritabanı çağrıları veya görüntü oluşturma gerçekleştirmek için zaman uyumsuz bir görev kullanılabilir ve zaman aşımı işleyicisi, görev belirli bir süre içinde gerçekleştirilmezse düzgün bir düşüş sağlar. özelliğinin AsyncTimeout page yönergesinde ayarlandığını unutmayın.

ASP.NET (C#)
<%@ Page Language="C#" AsyncTimeout="2"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
    // Define the asynchronuous task.
    Samples.AspNet.CS.Controls.MyAsyncTask mytask =    
      new Samples.AspNet.CS.Controls.MyAsyncTask();
    PageAsyncTask asynctask = new PageAsyncTask(mytask.OnBegin, mytask.OnEnd, mytask.OnTimeout, null);

    // Register the asynchronous task.
    Page.RegisterAsyncTask(asynctask);
      
    // Execute the register asynchronous task.
    Page.ExecuteRegisteredAsyncTasks();

    TaskMessage.InnerHtml = mytask.GetAsyncTaskProgress();

  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Asynchronous Task Example</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <span id="TaskMessage" runat="server">
      </span>
    </div>
    </form>
</body>
</html>
C#
using System;
using System.Web;
using System.Web.UI;
using System.Threading;

namespace Samples.AspNet.CS.Controls
{
    public class MyAsyncTask
    {
        private String _taskprogress;
        private AsyncTaskDelegate _dlgt;

        // Create delegate.
        protected delegate void AsyncTaskDelegate();

        public String GetAsyncTaskProgress()
        {
            return _taskprogress;
        }
        public void DoTheAsyncTask()
        {
            // Introduce an artificial delay to simulate a delayed 
            // asynchronous task. Make this greater than the 
            // AsyncTimeout property.
            Thread.Sleep(TimeSpan.FromSeconds(5.0));
        }

        // Define the method that will get called to
        // start the asynchronous task.
        public IAsyncResult OnBegin(object sender, EventArgs e,
            AsyncCallback cb, object extraData)
        {
            _taskprogress = "Beginning async task.";

            _dlgt = new AsyncTaskDelegate(DoTheAsyncTask);
            IAsyncResult result = _dlgt.BeginInvoke(cb, extraData);

                        return result;
        }

        // Define the method that will get called when
        // the asynchronous task is ended.
        public void OnEnd(IAsyncResult ar)
        {
            _taskprogress = "Asynchronous task completed.";
            _dlgt.EndInvoke(ar);
        }

        // Define the method that will get called if the task
        // is not completed within the asynchronous timeout interval.
        public void OnTimeout(IAsyncResult ar)
        {
            _taskprogress = "Ansynchronous task failed to complete " +
                "because it exceeded the AsyncTimeout parameter.";
        }
    }
}

Açıklamalar

Sayfanın zaman uyumsuz zaman aşımı süresi, sayfanın zaman uyumsuz görevleri gerçekleştirmek için bekleyeceği süreyi temsil eder. Çoğu durumda bu özelliği kodda ayarlamayın. Web yapılandırma dosyasının pages öğesini kullanarak veya @ Page yönergesinde sayfa zaman uyumsuz zaman aşımı aralığını ayarlayın. Sayfa yapılandırması bölümünde ayarlanan değerlerin üzerine sayfa yönergesi tarafından yazılır.

sınıfını PageAsyncTask kullanarak zaman uyumsuz görevinizi tanımlayın ve bir başlangıç, bitiş ve zaman aşımı işleyicisi kaydedin. Zaman uyumsuz görev belirtilen zaman aralığında tamamlanmazsa, zaman aşımı işleyicisi çağrılır.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1

Ayrıca bkz.