在 ASP.NET 中处理数据时如何更新进度消息?

2024-01-23

我有一个流程,它输出逐步消息(即,处理项目 1...项目 2 中的错误等)。

我希望在整个过程中(而不是最后)将其输出给用户。

我很确定我需要使用线程来完成此操作,但找不到合适的示例。


这不是线程问题,而是 Web 浏览器 UI 问题。您希望浏览器在您在服务器上工作时呈现状态。理论上你可以这样做:

Response.Write("something");
Response.Flush();

but the Flush()无法确保浏览器此时实际呈现您的代码。实际上,您无法控制数据从服务器到浏览器的缓存/分块/缓冲方式。因此每次更新都应该是一个“完整的”http 事务。

一种方法(也是常见的方法)是使用 AJAX 来实现此目的。用户单击一个按钮来启动一些后台工作,并且您有一个 JavaScript 计时器,它会轮询(发出请求)以检查工作的状态,并更新客户端浏览器。

查看使用 ASP.NET AJAX 的实时进度条 http://www.singingeels.com/Articles/RealTime_Progress_Bar_With_ASPNET_AJAX.aspx用于使用 ajax 和 .net 制作 ajax 进度指示器。

本文中有一个使用 http 处理程序创建进度条的绝佳示例:http://www.asp101.com/articles/matt/progressbar/default.asp http://www.asp101.com/articles/matt/progressbar/default.asp

为了证明我的观点,以下代码在 Firefox 中有效,但在 IE 或 Chrome 中无效:

protected void Page_Load(object sender, EventArgs e)
{
    Response.Buffer = false;
    Response.Clear();
    Response.Write("<html><body>");
    Response.Write("1\n");
    Response.Flush();
    Thread.Sleep(2000);
    Response.Write("1\n");
    Response.Flush();
    Thread.Sleep(2000);
    Response.Write("1\n");
    Response.Flush();
    Thread.Sleep(2000);
    Response.Write("1\n");
    Response.Flush();
    Response.Write("</body></html>");
    Response.End();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 ASP.NET 中处理数据时如何更新进度消息? 的相关文章

  • C#/Linq 获取相邻的集合

    我有一个有序列表 例如 0 1 2 6 7 10 我想要得到数字加 1 的集合 我想要第一个数字和计数或系列 所以我会得到开始 0 计数 3开始 6 计数 2开始 10 计数 1 我怎样才能在 C 中做到这一点 答案是我认为最好的方式 对我
  • 运行WPF应用程序时出错

    该应用程序在制作它的计算机上运行良好 但是当我将其复制到另一台相同的操作系统时 它崩溃并显示以下错误 Problem signature Problem Event Name CLR20r3 Problem Signature 01 vpn
  • 动态设置的 CSS 样式被覆盖

    我有几个
  • libc++ 中短字符串优化的机制是什么?

    这个答案 https stackoverflow com a 10319672 1805388给出了短字符串优化 SSO 的高级概述 但是 我想更详细地了解它在实践中是如何工作的 特别是在 libc 实现中 字符串必须有多短才能符合 SSO
  • Apache mod_wsgi django启用多线程多进程

    问题 我如何知道我的 apache 服务器是否已经在多进程和多线程模式下运行 因为当我对其进行负载测试时 它在不同的线程数下给出了相同的结果时间 我用 25 个线程和 50 个线程运行测试 我需要在 Django 代码中为多线程 多进程工作
  • 如何从 XmlDocument() 上的 URL 加载 XML

    我有这个代码 string m strFilePath http www google com ig api weather 12414 hl it XmlDocument myXmlDocument new XmlDocument myX
  • 实体框架 6 - 使用我的 getHashCode()

    这篇文章需要了解一定的背景知识 请耐心等待 我们有一个使用 EF 的 n 层 WPF 应用程序 我们通过 dbContext 将数据从数据库加载到 POCO 类中 dbContext 被销毁 然后用户可以编辑数据 我们使用 Julie Le
  • 编译器之间的重载分辨率不同

    我构建了以下我的问题的最小示例 include
  • 类型或命名空间名称“X”在命名空间“Y”中不存在 - 在 VS 生成的代码中

    这是我遇到过的最奇怪的错误 这个 MVC Web 项目直到今天都运行良好 几周以来还没有任何人对其进行处理 尽管没有任何改变 但现在简单地运行它会导致 命名空间 CMSModels ViewModels 中不存在类型或命名空间名称 Colo
  • cppcheck 找不到包含文件

    cppcheck 甚至找不到标准标头 例如 iostream 有任何想法吗 我正在使用 Ubuntu 11 04 和存储库中的 cppcheck cppcheck 在 Mac 和 Linux 上查找标准包含头确实很糟糕 幸运的是 您可以取消
  • C++11正则表达式匹配[重复]

    这个问题在这里已经有答案了 我正在尝试在 C 11 中进行相当简单的正则表达式匹配 使用 gcc 4 7 2 但我遇到了很多麻烦 尝试使用构建模式 std regex unquoted R regex s s regex 导致构造函数抛出一
  • 为什么&在变量之前使用?

    Why is 之前在这里使用过decks scanf i decks 如果我的输入是像 k 这样的任何字母 那么它会显示像 1929597720 这样的输出 为什么 include
  • 将 CreateThread 与 lambda 结合使用

    只是试验 但我想知道是否可以使该代码工作 如编译 void main int number 5 DWORD dontThreadOnMe PVOID PVOID data int value int data cout lt lt valu
  • Visual Studio 2019 能否将所需的 DLL 打包到一个小的 .exe 文件中?

    我使用 Visual Studio 2019 使用 C WinAPI 制作了一个 Windows 应用程序 完成后 我构建了它 并在我的计算机上执行 它工作完美 然后我发给我没有Visual Studio的朋友 它说需要 msvcp140d
  • 我可以向函数添加属性以防止重入吗?

    目前 我有一些如下所示的功能 private bool inFunction1 false public void function1 if inFunction1 return inFunction1 true do stuff whic
  • 使用 lambda 从数组中选择每隔一个元素[重复]

    这个问题在这里已经有答案了 C 4 0 如何使用 lambda 表达式完成以下操作 int a new int 8 0 1 2 3 4 5 6 7 Now fetch every second element so that we get
  • C# 中 PHP 的快速解析

    我需要用 C 解析 PHP 文件 我们本质上要求另一个国家的一些开发人员上传 PHP 文件 上传后我们需要检查 php 文件并获取所有方法和类 函数等的列表 我想过使用正则表达式 但我无法确定一个函数是否属于一个类等 所以我想知道是否已经有
  • 删除重复项并将列表放入列表框中

    这是一项大学作业 我对其中的一部分遇到了问题 这是代码 namespace Assignment 1 public partial class Classifier System Web UI Page We are using a web
  • 在 Qt 服务器上验证用户身份

    我正在尝试使用 C QtTcpSocket 为个人项目 多人国际象棋游戏 实现身份验证系统 我的朋友建议了一种验证用户的方法 但我想问是否有更简单或更好的方法 来自 Python 背景 做这个项目主要是为了加深对 C 的理解 我将发布我朋友
  • String.将 CRLF 替换为 '\n'

    我想知道是否有一种方法可以用 n 替换所有 CRLF 实例 有办法实现吗 你尝试过哪些方法不起作用 回车换行的意思回车 http en wikipedia org wiki Carriage return 换行 http en wikipe

随机推荐

  • CSS - IE 的渐变设置

    我如何为 IE 设置渐变 因为我正在尝试但没有任何运气 我让它在 chrome firefox opera 上工作 但在 IE 中不起作用 html body height 100 background image ms linear gr
  • 从 UIVIewController 访问 UITabBarController

    我正在开发一个基于 UITabbar 和视图层次结构的应用程序 如下所示 UITabBarController gt UINavigationController gt UIViewController 我需要从 UIIVewControl
  • MS-SQL 中是否有与 SHA1() 等效的函数?

    将几个存储过程从 MySQL 转换为 Microsoft SQL Server 一切都很顺利 除了一个程序使用了 MySQLSHA1 功能 我似乎无法在 MS SQL 中找到与此等效的内容 有谁知道有效的等价物SHA1 在 MS SQL 上
  • OpenCV 的视频捕获不返回图像

    所以我尝试开始使用 OpenCV 进行图像检测 我正在用 Python 编程 我从 openCV2 的人脸检测示例开始 然而 即使打开相机设备 也不会返回任何图像 违规代码 cam cv2 VideoCapture 0 print cam
  • 强制 MigLayout 像 GridBagLayout 一样收缩隐藏对象

    我正在尝试更换GridBagLayout with MigLayout 问题是如果我打电话obj setVisible false 对于某些对象GridBaglayout 布局缩小 但在MigLayout它只是保持隐藏状态 你知道一些方法吗
  • 从 Excel 导入 - 标题不在第 1 行

    我是否缺少一些简单的方法来使用 OleDBConnection 将 Excel 工作表导入数据表并更改标题所在的行 我的连接字符串中有 HDR YES 当标题位于第 1 行但标题实际上需要位于第 3 行时效果很好 我正在使用以下 Comma
  • ggplot 饼图中的标签错误

    我正在尝试为百分比值创建饼图 当我尝试为它们添加标签时 标签是错误的 我的意思是这些值指向图表中的错误位置 ggplot Consumption building type aes x y percentage fill Building
  • 如何对齐 Bootstrap 导航栏中留下的品牌标题和链接?

    我是 Bootstrap 的新手 我一直在努力了解导航栏 我注意到 当浏览器为全 宽屏 宽度时 品牌标题和导航锚点保持在页面的左侧中心 而不是像窗口较小时那样与页面的最左侧对齐 如何使导航栏中的文本紧贴页面左侧 无论浏览器窗口有多宽 我都希
  • async/await 如何在 ASP.Net 应用程序中提供帮助?

    在MVC控制器的action方法中使用async await可以扩展Web应用程序 因为在await时 Asp Net线程池的请求线程被释放 以便它可以为该工作进程处理IIS队列中的其他请求 这意味着 如果我们将工作进程的队列长度限制为 1
  • 如何知道 JUnit 测试触及了哪些类

    以编程方式了解 JUnit 测试涉及哪些类的有效方法是什么 正确的知道 我正在用以下工具来检测我的整个代码JaCoCo http www eclemma org jacoco 获取每行代码的代码覆盖率信息 然后我可以找出使用了哪些类 是否可
  • 我应该如何在类层次结构中链接构造函数?

    我们有以下类层次结构 public class Base public Base do generic initialization public Base SomeClass param1 this init properties tha
  • “额外的间接级别可以解决所有问题”这句话是什么意思? [关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 计算机科学中的 间接级别解决每个问题 这句话是什么意思 一般来说 这意味着通过提高抽象级别可以使问题更容易理解 解决 不过 要小心你的
  • 隐藏第 n 最大行的 VBA 代码

    Excel 2010 VBA 中是否有任何代码可以用来隐藏第 n 行 例如第 200 行 到最大行 顺便说一句 该表的名称特别是main 通常我会告诉你尝试否决你的问题 但是嘿 今天早上我很懒 所以我只会给你你没有找到的答案 Rows 20
  • 如何从 spring RESTful 服务返回 JSON 并使用 RestTemplate 类访问它

    我制作了一个 Spring RESTful Web 服务 用于以 JSON 格式提供热门歌曲列表 为此 我在列表中添加了歌曲名称 并从 Spring RESTful Web 服务的 Restcontroller 返回了该名称 所以 Rest
  • LinearLayout 的点击监听器永远不会被调用

    尝试让 onclick 侦听器在线性布局上工作 但它从未被调用 已启用可点击和可聚焦 两种模式 但仍然无法让点击侦听器响应 平台详细信息 Android 3 0 有任何帮助吗 下面的代码
  • 使用表单生成器将字段的值显示到 Rails 中的标签中

    我正在使用 Rails 3 2 并且需要使用表单生成器对象显示标签中字段的值 在文本框中显示它很简单 但我无法在标签中做到这一点 代码是这样的 上面的 f 是我的表单生成器 我的模型有一个名为 key name 的字段 第二行工作正常 我将
  • addslashes() 可以安全地防止 HTML 属性中的 XSS 吗?

    我不得不开发一个以前的开发人员留下的旧网络应用程序 它使用addslashes 来防止HTML属性上的XSS 这是一个例子 这是否容易受到 XSS 攻击 有没有什么方法可以让 javascript 在 value 属性中运行 就像在 src
  • 未定义的方法“分页”

    我正在尝试使用 will paginate gem 但出了点问题 我被困住了undefined method paginate 错误 我读了很多问题并尝试了很多事情 这是我所得到的 这是我的 LocationsController rb d
  • 在 pytube 中显示进度

    import pytube def video downloader vid url str input Enter Video URL print Connecting Please wait video pytube YouTube v
  • 在 ASP.NET 中处理数据时如何更新进度消息?

    我有一个流程 它输出逐步消息 即 处理项目 1 项目 2 中的错误等 我希望在整个过程中 而不是最后 将其输出给用户 我很确定我需要使用线程来完成此操作 但找不到合适的示例 这不是线程问题 而是 Web 浏览器 UI 问题 您希望浏览器在您