首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >将下载完整的通知发送到web

将下载完整的通知发送到web
EN

Stack Overflow用户
提问于 2019-10-29 10:11:55
回答 1查看 326关注 0票数 0

在我的设置中,用户从asp.net核心页向asp.net核心api应用程序发送请求以生成大型.xsl文件。web与数据库通信并生成文件。下载完成后如何通知用户并向用户发送下载url?我应该用哪种技术来实现呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-29 10:28:21

我建议你去看看信号R

阅读文档,然后你就会有一个清晰的想法。符合你的要求。

编辑

SignalR是一个简化了向应用程序添加实时web功能的库。要使用SignalR,您需要配置服务器端部分和客户端部分。每个部分都可以向对方发送“消息”。

SignalR使用集线器在客户端和服务器之间进行通信。

集线器是一个高层管道,允许客户端和服务器相互调用方法。

您可以将多个客户端连接到同一个集线器,并同时接收相同的通知。

这样,您就可以将消息“下载完成”发送到包含下载url的客户端。

示例的来源是这里

以下是集线器的一个示例:

代码语言:javascript
代码运行次数:0
运行
复制
using Microsoft.AspNetCore.SignalR;
using System.Threading.Tasks;
namespace SignalRChat.Hubs
{
   public class ChatHub : Hub
   {
       public async Task SendMessage(string user, string message)
       {
           await Clients.All.SendAsync("downloadComplete", user, message);
       }
   }
}

你的Startup.cs:

代码语言:javascript
代码运行次数:0
运行
复制
public void ConfigureServices(IServiceCollection services)
    {
        // ...
        services.AddSignalR();
    }
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
       app.UseEndpoints(endpoints =>
        {
            // ...
            endpoints.MapHub<ChatHub>("/chatHub");
        });
    }

这里是JS客户机中的一个示例,您可以通过集线器与服务器端SignalR创建che连接。在这里您可以处理传入的消息:

代码语言:javascript
代码运行次数:0
运行
复制
var connection = new signalR.HubConnectionBuilder().withUrl("/chatHub").build();
connection.on("downloadComplete", function (user, message) {
    // do something
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58605304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档