Telerik Forums
UI for ASP.NET AJAX Forum
2 answers
180 views
Hi,
I'm trying to use RadProgressArea to monitor custom progress.Everything works good, but the last part of my method is to return file to a user for a download. I do this through writing stream to a response and ending it with Response.End(). Something like this: 

RadProgressContext progress = RadProgressContext.Current;
        progress.SecondaryValue = 1;
        progress.SecondaryPercent = 1;
        progress.SecondaryTotal = 100;
 
        System.Threading.Thread.Sleep(3000);
        progress.SecondaryValue = 50;
        progress.SecondaryPercent = 50;
        System.Threading.Thread.Sleep(3000);

        //testing response
        byte[] b = File.ReadAllBytes("c:\\image1.jpg");
        Context.Response.ContentType = "image/jpg";
        Response.AddHeader("content-disposition", "attachment; filename=image.jpg");
        Response.BinaryWrite(b);
        Response.End();


It works great except RadProgressArea is not hidden after method is complete. I guess this happens because of the abruption of the response stream, because it hides if I do not have last 5 lines of code.
Is there any workaround of this issue?

Thanks. 
Rumen
Telerik team
 updated answer on 30 May 2023
1 answer
89 views

 

Hi

I have a page with a RadProgressBar over an loadbalancer (AWS Elastic Load Balancer).

When I access the page not using the loadbalancer address everyting works fine. But when I access using the address of loadbalancer the progressbar close after 90 seconds.

I know, the default timeout of scriptmanager is 90 seconds. But the scriptmanager have the AsyncPostBackTimeout with 2000 seconds.

<telerik:RadScriptManager ID="ScriptManager1" EnableScriptCombine="true" AsyncPostBackTimeout="2000" OutputCompression="Forced" ScriptMode="Release" runat="server" />

<telerik:RadProgressManager ID="RadProgressManager1" RefreshPeriod="5000" RegisterForSubmit="false" runat="server" />

In the AWS loadbalancer have the idle timeout param and I set the value to 900 seconds. I can confirm this configuration working very fine because the page still load until the end of the request, but the radprogress closes after 90 seconds or 18 times of the radprogress handler calls the server.

The web.config has executionTimeout="10800", and this works because the page remains running until the end.

Anybody have any idea about the problem and solution?

Thanks

Fabio PM
Top achievements
Rank 1
Iron
 updated question on 08 Oct 2021
0 answers
35 views

It seems after PageLoad i can not reset indicators.

Basically i want different indicators for different button clicks:

button 1: 

  RadProgressArea1.ProgressIndicators = ProgressIndicators.TotalProgress Or ProgressIndicators.TotalProgressPercent

                                                   Or ProgressIndicators.TotalProgressBar _
                                                   Or ProgressIndicators.TimeElapsed Or ProgressIndicators.TimeEstimated _
                                                   Or ProgressIndicators.CurrentFileName

buton 2:

 RadProgressArea1.ProgressIndicators = RadProgressArea1.ProgressIndicators _
                                                          And Not ProgressIndicators.SelectedFilesCount _
                                                          And Not ProgressIndicators.TotalProgressPercent _
                                                          And Not ProgressIndicators.TimeElapsed _
                                                          And Not ProgressIndicators.TimeEstimated _
                                                          And Not ProgressIndicators.TransferSpeed _
                                                          And Not ProgressIndicators.FilesCount

 

Thank you

David

David
Top achievements
Rank 1
Iron
Iron
Veteran
 asked on 05 May 2020
3 answers
617 views
I have a web form where the progressarea works fine but as soon as I show that form inside a bootstrap modal, it does not display. The server side code is still being triggered. I am using version 2013.2.717.35.
Vessy
Telerik team
 answered on 30 Mar 2020
4 answers
56 views

I am trying to redirect to another page on process cancellation (triggered by cancel button).

My progress event is running on separate thread, here is the code:

Public Sub ProgressArea()

        Do
            Dim dt As DataTable = AdminData.getLogPercent(Session("ProjectID"))

            Dim count As Integer = dt.Rows(0)("PercentDone")
            Dim message As String = dt.Rows(0)("RecordDesc")

            context.SecondaryValue = "Total Progress: " & count.ToString() + "%"
            context.SecondaryPercent = count.ToString()
            context.CurrentOperationText = message

            If Response.IsClientConnected = False Then

                Response.Redirect("redirect.aspx")

            End If

            If count < 98 Then
                'calls to itself to repeat
                Thread.Sleep(1000)
            Else
                Exit Do
            End If

        Loop

    End Sub

Code hits the redirect , but nothing happens. However if i redirect without clicking "Cancel" button it does work.

I am completely lost. Any help?

Thank you

David
Top achievements
Rank 1
Iron
Iron
Veteran
 answered on 26 Dec 2019
3 answers
146 views

Hi;

We have a .net webforms page that selects a file via a RadAsyncUpload control (the upload part is working fine).  After the file has been selected and transferred to the server in the background by the async upload, the user clicks a button to begin processing the file in the page's code-behind. 

We had previously created added a ProgressArea to the page, hoping that the communication between the server and the client would prevent the page from timing out during long processes (the processing of a file can take up to 30 minutes).  However, while the ProgressArea worked and was a definite improvement, the page request would still not have the response sent until the entire code-behind processing was complete, and thus the page would hit the http timeout limit (2 mins by default, I believe) before the server was finished processing, and we would get a "System.Web.HttpException (0x80004005): Request timed out." error.  Finally, we ended up just extending that page's timeout to an hour with the code

 

Server.ScriptTimeout = 3600;

in the Page_Load event.

However, our product is available not just hosted on our servers but also as an on-site web application on customers' servers -- this addresses security issues and regulations some of our customers have.  As a result, we do not have full control over the environment in which the software runs.  We've recently had a customer add AWS Cloudfront for content delivery, which has its own timeout settings.  This customer does not wish to set their Cloudfront http timeout to an hour, so our setting on the web application page doesn't matter.

What I am looking for is a way to keep that full response (as initiated by the user clicking the "Process" button) from timing out by keeping the server and client communicating during the processing in such a way as the http timeout doesn't get hit.  If I understand correctly, the ProgressArea sending information back from the server to the client does not "count" as part of the response the page is waiting for, so does not keep the http connection alive to prevent a timeout.

I had previously tried explicitly calling the processing from an ajax post from in a loop on the client, and while I was able to do this, the performance was drastically impacted for the worse.

Is there any way with the ProgressArea, ProgressManager, or some other telerik control to keep an http connection alive for the duration of a long process without having to change the timeout settings of any layer between the client and the web server?

Thanks!

Peter Milchev
Telerik team
 answered on 09 Aug 2019
0 answers
73 views

Hi  everyone,

I have implemented the RadProgressArea in my ASP.NET WebForms Sharepoint web application in which i am parsing an excel file and ingesting each excel row into my system and try to use the RadProgressArea to track the progress of the import process. for that I'am using a RadAsyncUpload to upload the excel file and an 'Import' Botton to process the selected file and ingest it into the system.

 

The problem I am facing here, is that each time after restarting the web server IIS and click the import botton the RadProgressArea is not displayed and the page is on loading mode until the file import processing is finished. Then the RadProgressArea start to be shown  without any problem for further import click.

I need to know why the RadProgressArea  is not displayed for the first time when my IIS is restared and start to work fine later on and what could be the possible solution for my probelm.

Here the configuration I m using in my both Dev and Integration environments :

In side  </system.webServer>

<p><handlers>    </p><p><add name="Telerik.Web.UI.WebResource" path="Telerik.Web.UI.WebResource.axd" verb="*" type="Telerik.Web.UI.WebResource, Telerik.Web.UI, Version=2016.3.1027.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4" /><br>      <add name="Telerik_Web_UI_DialogHandler_aspx" path="Telerik.Web.UI.DialogHandler.axd" verb="*" type="Telerik.Web.UI.DialogHandler, Telerik.Web.UI, Version=2016.3.1027.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4" /><br>      <add name="Telerik_Web_UI_SpellCheckHandler_axd" path="Telerik.Web.UI.SpellCheckHandler.axd" type="Telerik.Web.UI.SpellCheckHandler, Telerik.Web.UI, Version=2016.3.1027.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4" verb="*" preCondition="integratedMode" /><br>      <add name="Telerik_RadUploadProgressHandler_ashx" path="Telerik.RadUploadProgressHandler.ashx" type="Telerik.Web.UI.RadUploadProgressHandler, Telerik.Web.UI, Version=2016.3.1027.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4" verb="*" preCondition="integratedMode" /><br>      <add name="ChartImage_axd" path="ChartImage.axd" type="Telerik.Web.UI.ChartHttpHandler, Telerik.Web.UI, Version=2016.3.1027.45, Culture=neutral, PublicKeyToken=121fae78165ba3d4" verb="*" preCondition="integratedMode" /><br>   </handlers></p>

 

And add location to my web config like that :

<location path="Telerik.RadUploadProgressHandler.ashx"><br>    <system.web><br>      <authorization><br>        <allow users="*" /><br>      </authorization><br>    </system.web><br>  </location><br>  <location path="WebResource.axd"><br>    <system.web><br>      <authorization><br>        <allow users="*" /><br>      </authorization><br>    </system.web><br>  </location>

In my aspx page i am using the RadProgressArea as :

<p><span id="pnlActions" runat="server"><br><telerik:RadButton ID="btnImport" Text="Import" OnClick="btnImport_Click" OnClientClicked="function(button, args){hideRadBtn();return true;}"<br> runat="server" Skin="Web20" RenderMode="Lightweight"><br><Icon PrimaryIconCssClass="rbDownload2" PrimaryIconLeft="4" PrimaryIconTop="2"></Icon><br>                                        </telerik:RadButton><br><br><telerik:RadButton ID="btnNew" Text="New import" OnClick="btnNew_Click" Visible="false"<br> runat="server" Skin="Web20" RenderMode="Lightweight"><br><Icon PrimaryIconCssClass="rbAdd2" PrimaryIconLeft="4" PrimaryIconTop="2"></Icon><br></telerik:RadButton><br><br><telerik:RadProgressManager ID="RadProgressManager1" runat="server" /><br><telerik:radprogressarea id="RadProgressArea1" runat="server" style="text-align: center" DisplayCancelButton="False"<br>progressindicators="FilesCountBar,<br>FilesCount,<br>FilesCountPercent,<br>SelectedFilesCount,<br>CurrentFileName,<br>TimeElapsed,<br>TimeEstimated"><br></telerik:radprogressarea><br></span></p><p></p>

 

Thanks a lot for your support

Youness

Youness
Top achievements
Rank 1
 asked on 11 Sep 2018
1 answer
159 views

I have the following RadProgressArea declaration:

<telerik:RadProgressArea ID="rpaProcessFile"
runat="server"
Width="100%"
Skin="Office2010Blue"
displaycancelbutton="False"
progressindicators="FilesCountBar, FilesCount, FilesCountPercent, CurrentFileName, SelectedFilesCount "
/>

 

In codebehind, I am trying to set the SecondaryTotals label using:

rpaProcessFile.Localization.TotalFiles = "Total Approved Bonuses:"

However, as you can see in the attached screenshot, it is still showing the default "Total Files:"

 

Rumen
Telerik team
 answered on 02 Nov 2017
0 answers
105 views
Someone help me?? It's happened to me in .Net Reflector!! I hear some one it fix by 010 Editor, right?
Huynh
Top achievements
Rank 1
 asked on 06 Aug 2017
9 answers
123 views

I have an async upload control in my page along with a grid view wherein all the uploads are displayed. When I click on a line item in a grid I have a download file functionality. But, whenever I click on the download file link, the progress area appears which is not expected. the progress area is only meant for the upload control but not for the download. How do I sort this issue out?

Veselin Tsvetanov
Telerik team
 answered on 14 Dec 2016
Narrow your results
Selected tags
Tags
+? more
Top users last month
Dominik
Top achievements
Rank 1
Giuliano
Top achievements
Rank 1
Dominic
Top achievements
Rank 1
Glendys
Top achievements
Rank 1
Iron
NoobMaster
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Dominik
Top achievements
Rank 1
Giuliano
Top achievements
Rank 1
Dominic
Top achievements
Rank 1
Glendys
Top achievements
Rank 1
Iron
NoobMaster
Top achievements
Rank 2
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?