安静点DGC 2023-02-23 01:54 采纳率: 77.3%
浏览 34
已结题

c#使用HttpWebRequest调用一个接口需要页面显示这个接口的进度

c#使用HttpWebRequest以post的方式调用一个接口, 不是上传文件下载文件这种接口,只是简单调用接口,在服务端上做一个非常耗时间的操作,需要在页面上看进度,这种的进度怎么获取,和文件上传下载一样吗,,实在不懂,有没有知道的

  • 写回答

1条回答 默认 最新

  • MarkHan_ 2023-02-23 02:11
    关注

    该回答引用GPTᴼᴾᴱᴺᴬᴵ
    如果服务端的接口返回进度信息,那么你可以在客户端使用HttpWebRequest发起请求,然后通过WebResponse来获取服务端返回的数据。在获取到服务端返回的数据后,你可以解析数据中的进度信息,然后在页面上展示。
    -
    如果服务端的接口不返回进度信息,那么你可以在服务端实现一个定时推送进度信息的接口。具体实现方式可以是服务端将进度信息存储在数据库或者缓存中,然后客户端定时向服务端发起请求获取进度信息。客户端可以使用HttpWebRequest发起请求,然后通过WebResponse来获取服务端返回的数据,解析数据中的进度信息,然后在页面上展示。
    -
    文件上传下载是一种常见的需要显示进度的场景,但是并不是唯一的场景。如果服务端的操作非常耗时,并且可以获取到进度信息,那么就可以通过上述方式来实现进度的展示。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    安静点DGC 2023-02-23 02:33

    如果服务端的接口返回进度信息,那么你可以在客户端使用HttpWebRequest发起请求,然后通过WebResponse来获取服务端返回的数据。在获取到服务端返回的数据后,你可以解析数据中的进度信息,然后在页面上展示。
    上面这种方式,如果拿到的信息发现进度还没有执行完成,就需要客户端再次调用这个接口是吗,,这样的话服务端的接口也是需要支持短时间内返回信息,再次拿到信息之后能够继续上一次操作的吗,是这个意思吗

    回复
    MarkHan_ 回复 安静点DGC 2023-02-23 02:43

    是的,理解正确。如果在客户端通过HttpWebRequest获取到服务端返回的进度信息后发现任务还没有完成,可以通过再次发起请求的方式来查询最新的进度信息,直到任务完成为止。

    在这个过程中,服务端的接口需要支持在短时间内返回信息,并且能够记录任务的状态,以便客户端在再次发起请求时能够正确获取到任务的进度信息。可以考虑使用类似于任务队列或者状态机等机制来实现这个功能。具体实现的方式会根据你的具体需求和技术架构而有所不同。

    回复
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 3月2日
  • 已采纳回答 2月23日
  • 创建了问题 2月23日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部