SignalR的简单使用(二)
之前提到SignalR代理在网页,通过生成的Js来完成相关的功能。但我不禁想一个问题,
难到SignalR的服务端就能寄存在web端吗,通过访问网页能方式才能启动服务,还有客户端
也只能在web端吗?经过看官网的教程得到 了结论,两者的答案都是否定的。
关于上一篇的hub名第一个为小写的问题,还有调用客户端和服务端方式的问题,后面的教程
提到,这些名字都是用驼峰命名法的,即使定义时收字母是大写,调用时首字母小写也能调到。
1.客户端
SignalR的客户端可是DOTNET下所有的客户端,包括windowsForm、WPF等。
下列以winform为例说明问题,在DOTNET客户端实现SignalR的客户端需要添加
组件Microsoft.AspNet.SignalR.Client。
1.1新建Hub连接实例 HubConnection hubConnection=new HubConnection("uri");
其中url为SignalR的寄宿地址。这里仍然是寄宿在web端。
2.新建Hub代理实例 IHubProxy hubProxy=hubConnection.CreateHubProxy("myHub");
其中myHub为自定的Hub类。
3.通过代理实例注册客户端实例hubProxy.On("functionName",()=>{MessageBox.Show("可以");});
其中functionName为方法名,后面的为Lamda表达式表示方法体。
4.开启连接 hunConnection.Start();
5.调用服务端方法 hubProxy.Invoke("send");
其中send为服务端方法名,首字母也遵循驼峰命名法。
第二个参数是方法的参数,这里没传参数。
2.服务端--让服务端寄宿在DOTNET客户端
这里仍然以Winform为例说明问题。
2.1.引入组件Microsoft.AspNet.SignalR.SelfHost和Microsoft.Owin.Cors。
2.2.新建Startup类,用于配置Hub,代码如下
class Startup
{
public void Configuration(IAppBuilder app)
{ app.UseCors(CorsOptions.AllowAll);
app.MapSignalR();
2.3.新建集线器类,用户hub的服务端,处理业务逻辑。
public class MyHub : Hub
{
public void Send()
{
Clients.All.addMessage(); } }
2.4.定义一个字符串,用作hub服务端的web地址。例如:
string url = "http://localhost:61020/"
2.5开启连接
WebApp.Start(url);
这个方法的内部会去执行Startup类的Configuration方法配置Hub。
和直接生成的集线器类一直,只是这里寄宿在的Winform上。
当然这里还是要执行Winform才能运行SignalR,时间有限,日后发现更好的
办法会及时更新。
最新文章
- [THINKING IN JAVA]初始化和清理
- linux不知道文件在哪,想查找文件内的字符串
- SDUT2484算术表达式的转换
- hdu 5076 最小割灵活运用
- SQL随着子查询结果更新多个字段
- Android Studio的使用(三)--包不分级、修改包名
- Akka(18): Stream:组合数据流,组件-Graph components
- CMake添加-D_DEBUG宏
- Ionic Framework - Getting 'ionic start [appName]' Working Behind a Proxy
- java类型转化
- shell grep
- Resources$NotFoundException资源文件没有找到
- linux shell 变量子串
- super方法 调用父类的方法
- UML速记
- SpringBoot使用redis缓存List<;Object>;
- uva10780
- C# 字符串操作详解
- Java面试题精选
- 盘点Xcode中开发者最喜爱的十大开源插件
热门文章
- 古语云:工欲善其事必先利其器 -->; 最新、最全的 IntelliJ IDEA(2018.3.3) 的介绍、安装、破解、配置与使用
- 如何在一个div中使其子div居中
- 短文评估【安徽省选2003】- hash / trie
- 【codeforces 776C】Molly's Chemicals
- fiddler AutoResponder(文件代理)
- erlang工作前新手学习指引路线
- Android中的事件处理研究
- ANDROID 中设计模式的採用--结构型模式
- 转义及编码(\u, \x)
- WPF 走马灯 文字滚动 自定义控件