zoukankan      html  css  js  c++  java
  • 二、Signalr WebApi客服

    一、搭建环境

    (安装redis服务)

     更改端口0.0.0.0,保存并重启redis(记得宝塔开启安全)

     访问测试

    本地搭建的redis

     链接测试

     二、项目搭建 

    参考

     1、搭建项目(直接项目-不包含MVC以及API)

     项目结构

    但是需要访问(所以还需要添加控制器Api的模式)选择Api

    添加类库一个专门管理SignalR

     

     2、中要signalr包引用

    首先先用NuGet包下载SignalR包:

    Microsoft.AspNetCore.SignalR

    安装过后,需要得就是SignalR的JS文件,这里可以采用npm命令进行安装

    npm install @aspnet/signalr

    根据情景我不需要通过NuGet包下载 直接创建ChatHub.cs

    using Microsoft.AspNetCore.SignalR;
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Threading.Tasks;
    
    namespace SignalR
    {
        public class ChatHub : Hub
        {
            public async Task SendMessage(string user, string message)
            {
                await Clients.All.SendAsync("ReceiveMessage", user, message);
            }
        }
    }

     3、更改配置文件

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Threading.Tasks;
    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.AspNetCore.Mvc;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.DependencyInjection;
    using Microsoft.Extensions.Logging;
    using Microsoft.Extensions.Options;
    using SignalR;
    
    namespace Ban
    {
        public class Startup
        {
            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;
            }
    
            public IConfiguration Configuration { get; }
    
            // This method gets called by the runtime. Use this method to add services to the container.
            public void ConfigureServices(IServiceCollection services)
            {
                services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
                services.AddSignalR();//1、添加服务
            }
    
            // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
            public void Configure(IApplicationBuilder app, IHostingEnvironment env)
            {
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
    
                app.UseCors(builder =>
                {
                    builder.SetIsOriginAllowed(origin => true)
                        .AllowAnyHeader()
                        .WithMethods("GET", "POST")
                        .AllowCredentials();
                });
    
                app.UseSignalR(routes =>
                {
                    routes.MapHub<ChatHub>("/SignalR");     //可以多个map  
                });
    
                app.UseMvc();
            }
        }
    }

     4、预览

    注意:

    (vs2017 自带升级修改添加没有关于.net core sdk2.2的包,只能通过下载sdk2.2安装 ,2019可以有) 需要关闭所有vs,重新打开。

    扩展 .net core 2.2 

    https://dotnet.microsoft.com/download/visual-studio-sdks?utm_source=getdotnetsdk&utm_medium=referral

    点到为止
  • 相关阅读:
    第十六天
    第十五天
    STM8L段式液晶驱动器
    STM8L的LCD接口详解及驱动程序
    作为合格的工程师,这些电路图一辈子都得记住!
    双向晶闸管触发电路工作原理图
    3~15伏10A大电流可调稳压电源
    用TL431制作简单充电器电路
    5V USB充电器电路图
    555
  • 原文地址:https://www.cnblogs.com/fger/p/11880292.html
Copyright © 2011-2022 走看看