我有一个简单的 ASP.NET MVC 网页,用户在其中上传文件,在服务器端处理文件,然后一些结果必须显示在同一个页面中。
我选择了 ajax 上传(因此没有在 [上传] 按钮上完成页面重新加载),效果很好。调用文件的 Controller 的 Action 方法,一切OK。我正在使用上传组件,似乎“成功:”回调无法让我使用react。
* 编辑 除了成功回调似乎不可用之外,处理需要 60 秒。我想返回上传 ajax 调用立即,然后处理(可选地在客户端显示进度),并在处理完成时显示结果。 结束编辑 *
我的第一个 KISS(业余)想法是:好的,然后将处理结果存储在服务器端的 session 中,然后从客户端 ajax 轮询一个操作方法,返回结果。顺便说一句,它不是那么亲吻。
我的第二个想法是:好吧,那就去专业,使用 SignalR。 (我从来没有用过)。现在我正在看聊天教程,我有疑问:对于这个简单的任务,SignalR 不是太过分了吗?还有:SignalR 是否完全适合这项任务?
最佳答案
我将 SignalR 用于类似的事情:生成新闻通讯并将其发送给 10+k 个收件人。整个过程大约需要 5 分钟,管理员可以通过 SignalR 跟踪进度。
SignalR 最初看起来很复杂,但实际上并非如此。我要说的优点之一是易于使用。在您的处理过程中,将更新推送到客户端非常简单。让它在客户端工作只需要少量的 javascript 行。
我猜这里的矫枉过正部分是你总是只向 1 个人广播。
关于javascript - SignalR 是否适合获取服务器端(后台)处理的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35982304/