• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > SignalR Self Host+MVC等多端消息推送服务(二)

SignalR Self Host+MVC等多端消息推送服务(二)

作者:landonzeng 字体:[增加 减小] 来源:互联网 时间:2018-08-20

landonzeng 通过本文主要向大家介绍了SignalR,Self,Host,MVC,消息推送等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、概述

上次的文章中我们简单的实现了SignalR自托管的服务端,今天我们来实现控制台程序调用SignalR服务端来实现推送信息,由于之前我们是打算做审批消息推送,所以我们的demo方向是做指定人发送信息,至于做聊天消息和全局广播,这里就不在进行演示了。

二、创建控制台客户端

1、在SignalRProject解决方案下新建一个名为Clinet的控制台

2、在程序包管理控制台中输入以下命令

Install-Package Microsoft.AspNet.SignalR.Client

3、修改Clinet项目中的Program.cs代码

using Microsoft.AspNet.SignalR.Client;
using System;

namespace Clinet
{
  class Program
  {
    static void Main(string[] args)
    {
      Console.Write("请输入用户名: ");
      string clientName = Console.ReadLine();


      var url = "http://localhost:10086/";
      var connection = new HubConnection(url);
      var chatHub = connection.CreateHubProxy("IMHub");
      
      connection.Start().ContinueWith(t =>
      {
        if (!t.IsFaulted)
        {
          //连接成功,调用Register方法
          chatHub.Invoke("Register", clientName);
        }
      });

      //客户端接收实现,可以用js,也可以用后端接收
      var broadcastHandler = chatHub.On<string, string>("receivePrivateMessage", (name, message) =>
      {
        Console.WriteLine("[{0}]{1}: {2}", DateTime.Now.ToString("HH:mm:ss"), name, message);
      });

      Console.WriteLine("请输入接收者名:");
      var _name = Console.ReadLine();
      Console.WriteLine("请输入发送信息!");
      while (true)
      {
        var _message = Console.ReadLine();
        chatHub.Invoke("SendPrivateMessage", _name, _message).ContinueWith(t =>
        {
          if (t.IsFaulted)
          {
            Console.WriteLine("连接失败!");
          }
        });
        Console.WriteLine("请输入接收者名:");
        _name = Console.ReadLine();
        Console.WriteLine("请输入发送信息!");
      }
    }
  }
}

4、右键单击解决方案——>选择属性——>启动项目——>多启动项目——>将Clinet和Server设置为启动,如下:

5、F5运行后,再开一个Clinet,在第一个Client中输入用户名为a,登录后Server中显示出登录a的ID,在另一个Clinet中输入用户名为b,登录后Server中显示出登录b的ID,然后根据提示信息,a Clinet中输入接收信息的人为b,输入hello后按Enter后,b Client显示出了a输入的信息,如下图:

自此控制台调用SignalR服务端,实现消息推送的Demo就完成了,今天先写到这,下一章我们实现B/S端调用SignalR服务来推送消息

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • SignalR发送页面跳转通知的方法
  • 详解在ASP.NET Core下使用SignalR技术
  • Asp.net SignalR 让实时通讯变得如此简单
  • ASP.NET MVC中SignalR的简单应用
  • SignalR Self Host+MVC等多端消息推送服务(三)
  • SignalR Self Host+MVC等多端消息推送服务(二)
  • SignalR Self Host+MVC等多端消息推送服务(一)
  • Asp.net MVC SignalR来做实时Web聊天实例代码

相关文章

  • 2017-05-11Win 2000下ASP.NET开发环境的配置
  • 2017-05-11Web.Config文件配置之限制上传文件大小和时间的属性配置
  • 2017-05-11拦截asp.net输出流并进行处理的方法
  • 2017-05-11VS2008无法直接查看STL值的解决方法
  • 2017-05-11.NET 资源文件resx、Resources详细说明
  • 2017-05-11Asp.Net中的字符串和HTML十进制编码转换实现代码
  • 2017-05-11在ASP.NET2.0中通过Gmail发送邮件的代码
  • 2017-05-11Lucene.Net实现搜索结果分类统计功能(中小型网站)
  • 2017-05-11对ListBox的添加移除操作实例分享
  • 2017-05-11asp.net和ajax实现智能搜索功能代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • FreeTextBox(版本3.1.6)在ASP.Net 2.0中使用方法
    • 得到真实外网IP、IP所在国家、省份、地区(小偷程序)
    • ASP.NET 程序中删除文件夹导致session失效问题的解决办法分享
    • html+ashx 表单提交示例
    • DataGridView中CheckBox实现某一列单选
    • asp.net采集页面上所有图像图片资源的具体方法
    • asp.net BOF或EOF有一个是真,或者当前记录已被删除
    • Asp.net SignalR 让实时通讯变得如此简单
    • C#实现上传照片到物理路径,并且将地址保存到数据库的小例子
    • 《解剖PetShop》之五:PetShop之业务逻辑层设计

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有