異常彙總:http://www.cnblogs.com/dunitian/p/4523006.html#signalRhtml
後臺建立了一個DntHub的集線器spa
前臺在調用的時候出現了問題(經檢查是代理對象建立失敗)3d
因而到StackOverflow上面找了下:代理
http://stackoverflow.com/questions/14146913/signalr-cannot-read-property-client-of-undefinedhtm
上面說改爲小寫就ok了,不少人也解決成功了對象
逆天改爲小寫後也解決了,var chat = $.connection.dntHubblog
也許不少人就直接忽略了~~~~but,我爲何這樣就解決了呢?C#的命名規則就是首字母大寫啊?get
逆天喜歡深究一下,因而打開其動態生成的js,發現了這麼一句it
so,原來默認生成了的就是小寫開頭的,,,,,,,,(⊙o⊙)… 不少人說結束了? NONONOio
程序猿須要什麼?想象力和反常規的想象力!
那麼我就大膽設想,咱們是否是能夠指定名字呢?
上網搜了下,原來經過 HubName("xxx")能夠設置名字
擴展一下,經過這個能夠設置任意名字,不見得和類名相同
那麼再試試?
看看動態生成的js,
嘿嘿,爽!
結論:
若是不本身設置HubName,那麼SignalR會自動幫咱們生成一個和類名相同而且以小寫開頭的HubName
這個問題有兩種解決方法,一種js中用首字母小寫的HubName,另外一種本身指定。(前臺建議都是小寫)