如何进行多平台部署Client和Server详细讲解
一:signalR把console用做客户端访问服务端方法
1:新建一个控制台应用程序(ClientConsole)
2:用nuget安装SignalR.Client(必须,下面是nuget命令)
Install-Package Microsoft.AspNet.SignalR.Client
3:给Program的Main如下写就和在JS里面向服务器请求差不多(注意引用Microsoft.AspNet.SignalR.Client命名空间)

class Program
{
static void Main(string[] args)
{
var conn = new HubConnection("http://localhost:50278/signalr");
var proxy= conn.CreateHubProxy("PersonHub");
proxy.On("Welcome", (msg) =>
{
Console.WriteLine(msg);
});
conn.Start().Wait();
var info= proxy.Invoke<string>("Hello", 100).Result;
}
}
4:搭建一个服务端(用之前的代码)
4.1新建signal集线器类=》PersonHub,类的方法如下所示

4.2新建一个Startup=》Startup1类如下

5:把服务器启动起来

6:运行结果

7:signalR console做为客户端访问服务器至此完成
二:signalR把console用做服务端被客户端访问
1:新建一个控制台程序=》ServerConsole
2:打开nuge控制台执行如下命令安装相关DLL
2.1:Install-Package Microsoft.Owin.Host.HttpListener
2.2:install-package Microsoft.AspNet.SignalR.Core
2.3:Install-Package Microsoft.Owin.Hosting
2.4:install-package Microsoft.Owin.Cors
3:console里面不能建signalr集线器类,所以需要在其他地方copy一个过来,里面的方法如下

4:新建一个Startup类=>Startup1里面的方法如下

5:在Program里面的方法如下

6:新建一个页面,用做客户端,注意页面要引用(<script src="~/Scripts/jquery-1.10.2.min.js"></script> 和<script src="~/Scripts/jquery.signalR-2.1.2.min.js"></script>)

7:把ServerConsole 启动起来
8:把客户端启动起来,运行效果如下

9:做起来很简单,主要是要把dll引用对,并把相关的请求的url配对就可以了,
如何进行多平台部署Client和Server详细讲解的更多相关文章
- Asp.Net SignalR 多平台的Client与Server
多平台 SignalR在.Net的大环境下都可以做到即时通讯,也就是说都可以使用,客户端也不仅是js.下面就来一个控制台的Client 我们需要在nuget上下载包 Microsoft.AspNet. ...
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)
随着"互联网+"时代的业务增长.变化速度及大规模计算的需求,廉价的.高可扩展的分布式x86集群已成为标准解决方案,如Google已经在几千万台服务器上部署分布式系统.Docker及 ...
- elk实时日志分析平台部署搭建详细实现过程
原文:http://blog.csdn.net/mchdba/article/details/52132663 1.ELK平台介绍 在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:以下内容 ...
- CentOS平台部署vsftp(基于虚拟用户)
1. 安装FTP 1 2 [root@task ~]# yum install vsftpd –y [root@task ~]# chkconfig vsftpd on # 配置开机 ...
- Vmware ESX5i 环境下部署Windows Storage Server 2008 R2
ESX5i 环境下部署Windows Storage Server 2008 R2 Windows Storage Server 2008 这款产品微软早已发布,WSS2008是基于Win ...
- Android简单的聊天室开发(client与server沟通)
请尊重他人的劳动成果.转载请注明出处:Android开发之简单的聊天室(client与server进行通信) 1. 预备知识:Tcp/IP协议与Socket TCP/IP 是Transmission ...
- Mesos+Zookeeper+Marathon的Docker管理平台部署记录(2)- 负载均衡marathon-lb
之前介绍了Mesos+Zookeeper+Marathon的Docker管理平台部署记录(1)的操作,多余的废话不说了,下面接着说下在该集群环境下的负载均衡marathon-lb的部署过程: 默认情况 ...
- 并发编程概述 委托(delegate) 事件(event) .net core 2.0 event bus 一个简单的基于内存事件总线实现 .net core 基于NPOI 的excel导出类,支持自定义导出哪些字段 基于Ace Admin 的菜单栏实现 第五节:SignalR大杂烩(与MVC融合、全局的几个配置、跨域的应用、C/S程序充当Client和Server)
并发编程概述 前言 说实话,在我软件开发的头两年几乎不考虑并发编程,请求与响应把业务逻辑尽快完成一个星期的任务能两天完成绝不拖三天(剩下时间各种浪),根本不会考虑性能问题(能接受范围内).但随着工 ...
- 分布式数据库数据从属与client与server的数据同步
老实说,眼下市面上很多产品,的确是不成熟的产品. 用过一些,给人蛋痛的感觉. 导言 分布还是集总 今天我们来探讨一个非常重要的问题. 每一个程序猿都有其思想,我的思想之中的一个,就是分布式. 分布式, ...
- Puppet基于Master/Agent模式实现LNMP平台部署
前言 随着IT行业的迅猛发展,传统的运维方式靠大量人力比较吃力,运维人员面对日益增长的服务器和运维工作,不得不把很多重复的.繁琐的工作利用自动化处理.前期我们介绍了运维自动化工具ansible的简单应 ...
随机推荐
- java画海报
package demotest; import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Font; impor ...
- Django-Ajax、form组件
1.Ajax 1.AJAX:不是新的编程语言,而是一种使用现有标准的新方法,我们目前学习的是jQuery版本.特点:异步提交,局部刷新. 2.AJAX 最大的优点是在不重新加载整个页面的情况下,可以与 ...
- 宠物小精灵之收服(等级考试4级 2021-03 T1)
题目: 此题目可转化为 01背包问题 dp[ i ] [ j ] [ l ] 表示i个精灵球.j点体力.l 个精灵时最多收复精灵的个数. 注意事项:开三维数组一定要贴着给的数据开,本题中开dp[100 ...
- 【译】.NET 7 中的性能改进(一)
原文 | Stephen Toub 翻译 | 郑子铭 一年前,我发布了.NET 6 中的性能改进,紧接着是.NET 5..NET Core 3.0..NET Core 2.1和.NET Core 2. ...
- 【TS】object类型
object是一个对象,在ts中定义对象类型的语法为:let 变量名 :object = { } 在object类型中,对象内部定义的值是不受类型约束的,只要是一个object类型即可,例如: let ...
- flutter系列之:在flutter中使用导航Navigator
目录 简介 flutter中的Navigator Navigator的使用 总结 简介 一个APP如果没有页面跳转那么是没有灵魂的,页面跳转的一个常用说法就是Navigator,flutter作为一个 ...
- 点击获取Cesium中加载的3DTile模型的属性信息(二)
1.添加鼠标点击事件 //鼠标单击左键事件 viewer.screenSpaceEventHandler.setInputAction(function onMouseClick( click ) { ...
- Vulhub 漏洞学习之:Dubbo
Vulhub 漏洞学习之:Dubbo 目录 Vulhub 漏洞学习之:Dubbo 1 Aapche Dubbo Java反序列化漏洞(CVE-2019-17564) 1.1 环境安装 1.2 漏洞利用 ...
- $(...).bootstrapTable is not a function (已解决)
1.首先保证Jquery是不是在所有js最前面引入且引入地址正确能打开 2.页面jquery不能重复引入,我这边就是重复引用了导致报错的
- vue弹窗后如何禁止滚动条滚动
toggleBody(isPin){ if(isPin){ document.body.style.height = '100vh' document.body.style['overflow-y'] ...