Поток прерван, заставляет клиентский спиннер работать - PullRequest
0 голосов
/ 19 сентября 2019

Мой сценарий: мне нужно загрузить файл с сервера на рабочий стол клиента. Приведенный ниже код отлично работает для загрузки файла и не выдает ошибку «Поток прерван». Но мой клиентский счетчик продолжает работать бесконечно.

код для скачивания:

 try


  {

            FileInfo file = new FileInfo(uriPath);

            if (file.Exists)
            {

                HttpContext.Current.Response.Clear();
                HttpContext.Current.Response.ClearHeaders();
                HttpContext.Current.Response.ClearContent();
                HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);
                HttpContext.Current.Response.AddHeader("Content-Length", file.Length.ToString());
                HttpContext.Current.Response.ContentType = "text/plain";
                HttpContext.Current.Response.TransmitFile(file.FullName);
                HttpContext.Current.Response.Flush(); // Sends all currently buffered output to the client.
                HttpContext.Current.Response.SuppressContent = true;  // Gets or sets a value indicating whether to send HTTP content to the client.
                HttpContext.Current.ApplicationInstance.CompleteRequest(); //




            }
        }
        catch (ThreadAbortException e)
        {
            //this is special for the Response.end exception
            return 0;
        }
        catch (Exception exception)
        {

            logger.Error(exception.ToString());
        }

Клиентский спиннер:



     <asp:Button ID="BtnRemoveAll" Visible="False" runat="server" OnClick="RemoveAll_Click" OnClientClick="ShowWheel()" Text="Remove All"/>

        <asp:UpdatePanel runat="server">
            <ContentTemplate>
                <div id="processMessage"  style="display:none; width:100%; height:100%;  overflow: auto;  position:fixed; left:0%; top:0%; background-color: rgba(255, 255, 255, 0.8);  z-index: 3;">

                    <div style="margin-left:50%; margin-top:25%; ">
                        <img alt="Loading" src="../Content/image/806.gif" style="position:center;  left:50%; top:0%;"/><br /><br />
                        Please Wait...
                    </div>
                </div>
            </ContentTemplate>
        </asp:UpdatePanel>

      <script>
            function ShowWheel() {
                document.getElementById("processMessage").style.display = "block";

                modal.style.display = "none";


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