前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SignalR代理对象异常 推出的结论

SignalR代理对象异常 推出的结论

作者头像
逸鹏
发布2018-04-09 17:52:49
7620
发布2018-04-09 17:52:49
举报
文章被收录于专栏:逸鹏说道逸鹏说道

异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#signalR

SignalR代理对象异常:Uncaught TypeError: Cannot read property 'client' of undefined 推出的结论

后台创建了一个DntHub的集线器

前台在调用的时候出现了问题(经检查是代理对象创建失败)

于是到StackOverflow上面找了下:

http://stackoverflow.com/questions/14146913/signalr-cannot-read-property-client-of-undefined

上面说改成小写就ok了,很多人也解决成功了

逆天改成小写后也解决了,var chat = $.connection.dntHub

也许很多人就直接忽略了~~~~but,我为什么这样就解决了呢?C#的命名规则就是首字母大写啊?

逆天喜欢深究一下,于是打开其动态生成的js,发现了这么一句

so,原来默认生成了的就是小写开头的,,,,,,,,(⊙o⊙)… 很多人说结束了? NONONO

程序猿需要什么?想象力和反常规的想象力!

那么我就大胆设想,我们是不是可以指定名字呢?

上网搜了下,原来通过 HubName("xxx")可以设置名字

扩展一下,通过这个可以设置任意名字,不见得和类名相同

那么再试试?

看看动态生成的js,

嘿嘿,爽!

结论:   如果不自己设置HubName,那么SignalR会自动帮我们生成一个和类名相同并且以小写开头的HubName   这个问题有两种解决方法,一种js中用首字母小写的HubName,另一种自己指定

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我为Net狂 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档