在 MVC 5 ASP.Net Ajax 调用中来自服务器的多个响应

Multiple response from server within a Ajax call in ASP.Net MVC 5

提问人:Salman Aslam 提问时间:2/14/2019 更新时间:2/15/2019 访问量:294

问:

在 Ajax 调用中向客户端发送多个响应的可能方法是什么?

场景

1.通过Ajax从excel导入200条记录。

2.逐个读取文件记录。

3.在每次迭代中,我需要将一些数据发送到客户端,并在服务器端使用一些 base 64 映像将其取回,然后将该映像保存到数据库中。

4.Do 所有迭代都这样做。

5.所有迭代后显示 Ajax 成功消息。

我怎样才能在一个 Ajax 请求中实现这一点。

C# asp.net asp.net-mvc-ajax ajax-polling

评论

0赞 Brian Mains 2/14/2019
为什么 #3 点需要转到客户端?
0赞 Salman Aslam 2/14/2019
我们需要客户帮助从 JS 库 - Konva 制作 base 64 图像。每条记录从数据库中获取一些数据并将其发送到客户端,客户端从中制作图像并将其发送回服务器以将其保存在数据库中。
0赞 Brian Mains 2/14/2019
除非你可以用服务器端的东西替换Konva,否则你将不得不进行多个AJAX调用。从本质上讲,它不能是一个 AJAX 请求。

答:

0赞 Salman Aslam 2/15/2019 #1

所以最后我们通过信号R做到了。

我们可以通过 Web 套接字或 Signal R 来实现这一点,信号 R 为客户端打开了一个通信通道,从那里我们可以再次将任何数据发送到服务器。

注意如果有人想通过 Signal R 发送大文件,请不要忘记增加 Signal R 消息缓冲区的大小,例如

GlobalHost.Configuration.DefaultMessageBufferSize = 200