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: