Using this simple trick, everyone can easily ensure that page processing is synchronous or asynchronous.
<asp:ScriptManager ID="ScriptManager1" runat="server" EnableHistory="true">
</asp:ScriptManager>
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>
<asp:Timer ID="Timer1" runat="server" Interval="40000" ontick="Timer1_Tick">
</asp:Timer>
<asp:Label ID="Label3" runat="server"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
Code Behind
protected void Page_Load(object sender, EventArgs e)
{
if (ScriptManager1.IsInAsyncPostBack==true)
{
Label1.Text = "Page processing is Ashnchronuslly..";
}
else
{
Label1.Text = "Page Processing is Syncrhonulsy...";
}
}
protected void Timer1_Tick(object sender, EventArgs e)
{
if (ScriptManager1.IsInAsyncPostBack == true)
{
Label2.Text = DateTime.Now.ToString();
}
}
Description
For the First Request only Synchronous Processing is done.
Page Processing is Syncronously... Label
For the Second Request onwords
Page Processing IS Asynchronously.. 11/1/2011 12:37:27 PM
Yes, for every 40 secs updatedpanel content is updated asynchronusly with the help of Timer Control Tick event, the updated time will be displayed in
Lable2
. We can ensure many things for every request and response internals with the help of any Firebug console window or any browsers WebDevelopment tools.
Like below for every 40 seconds:
POST http:
POST http:
POST http:
POST http:
POST http:
POST http:
POST http: