信号R 2.1.2中未定义集线器参考 [英] Hub reference is undefined in signalR 2.1.2
问题描述
嗨朋友们,
因为我使用signalR2.1.2在我的网络应用程序中使用聊天功能并通过PM>安装它,所以我怀疑差不多一周了;安装 - 打包Microsoft.AspNet.SignalR -version 2.1.2并在网页内引用
Hi friends,
I have been in a doubt for almost a week as I used chating functionality to my web app using signalR2.1.2 and installed it by PM>Install-Package Microsoft.AspNet.SignalR -version 2.1.2 and referenced inside web page as
<script src="~/Scripts/jquery.signalR-2.1.2.js"></script>
<script src="~/Scripts/jquery.signalR-2.1.2.min.js"></script>
<script src="~/Scripts/json2.min.js" type="text/javascript"></script>
<script src="~/Scripts/json2.js" type="text/javascript"></script>
<script src="~/signalr/hubs"></script>
<script type="text/javascript">
$(function () {
try {
$.connection.hub.start();
var myHub = $.connection.Hubupdatedb;
alert('hub connected.');
}
catch (e) { alert('Error: ' + e.message); }
});
myHub.client.AllcurrentUsers = function (allusers) {
alert('Values from hub is got..')'
}
</script>
启动类
Startup Class
<Assembly: OwinStartup(GetType(HubForClients.Startup))>
Namespace HubForClients
Public Class Startup
Public Sub Configuration(ByVal app As IAppBuilder)
app.MapSignalR()
End Sub
End Class
End Namespace
Hub类
命名空间HubFor客户
< hubname(hubupdatedb)>
公共类HubClass
继承中心
公共共享sCurrentClient As String
Public Shared objcursers As New List(Of CurrentUsers)()
Sub finddata(ByVal sCtrlID As String,ByVal sDatavalue As String,ByVal Noteid As String,ByVal CtrlType As String)
尝试
Dim objdb As DB = New DB(Nothing)
如果Noteid<> 0然后
Clients.Group(Noteid).connectClients(sCtrlID,sDatavalue,CtrlType)
结束如果
Catch ex As Exception
结束尝试
结束子
公共覆盖函数OnConnected()作为任务
Dim objupdatedb作为UpdateDB = New UpdateDB()
尝试
sCurrentClient = objupdatedb.GetSession()
如果sCurrentClient<> 0然后
Groups.Add(Context.ConnectionId,sCurrentClient)
结束如果
Catch ex As Exception
结束尝试
''''''''将当前用户添加到列表中。''''''''''''''''' '''''''''
如果objcursers.Count> = 0那么
Dim sStaffid As String = objupdatedb.GetStaffid()
Dim sStaffname As String = objupdatedb.GetStaffname()
objcursers.Add(New CurrentUsers With {.sCurrentusername = sStaffname,.sCurrentuserid = sStaffid,.sCurrentpatid = sCurrentClient})
结束如果
返回MyBase.OnConnected()
结束功能
公共函数GetUsersList( ByVal sPnoteid As String)As String()
Dim curusers As L ist(Of CurrentUsers)
Dim ss As String()
尝试
curusers =来自listuser in objcursers其中listuser.sCurrentpatid = sPnoteid选择New CurrentUsers(listuser.CurName,listuser.Curid,listuser.Curpid)Distinct.ToList()
'Dim curusers1
'Dim averageValue =(objcursers.Where(Function(num) )num.sCurrentpatid = sPnoteid))。Distinct()
Dim j As Integer = 0
ss = New String(curusers.Count){}
For Each i As CurrentUsers在curusers中
如果不是ss.Contains(i.sCurrentusername)那么
ss(j)= i.sCurrentusername
j = j + 1
结束如果
下一页
Catch ex As Exception
结束尝试
返回ss
结束功能
结束课程
结束命名空间
但是它
抛出异常因为无法获取属性'hub'的值:对象为null或未定义任何人请帮助我..对我来说会很有帮助..提前谢谢...
Hub Class
Namespace HubForClients
<hubname("hubupdatedb")>
Public Class HubClass
Inherits Hub
Public Shared sCurrentClient As String
Public Shared objcursers As New List(Of CurrentUsers)()
Sub finddata(ByVal sCtrlID As String, ByVal sDatavalue As String, ByVal Noteid As String, ByVal CtrlType As String)
Try
Dim objdb As DB = New DB(Nothing)
If Noteid <> "0" Then
Clients.Group(Noteid).connectClients(sCtrlID, sDatavalue, CtrlType)
End If
Catch ex As Exception
End Try
End Sub
Public Overrides Function OnConnected() As Task
Dim objupdatedb As UpdateDB = New UpdateDB()
Try
sCurrentClient = objupdatedb.GetSession()
If sCurrentClient <> "0" Then
Groups.Add(Context.ConnectionId, sCurrentClient)
End If
Catch ex As Exception
End Try
''''''''''Add current user to a list.''''''''''''''''''''''''''''''''
If objcursers.Count >= 0 Then
Dim sStaffid As String = objupdatedb.GetStaffid()
Dim sStaffname As String = objupdatedb.GetStaffname()
objcursers.Add(New CurrentUsers With {.sCurrentusername = sStaffname, .sCurrentuserid = sStaffid, .sCurrentpatid = sCurrentClient})
End If
Return MyBase.OnConnected()
End Function
Public Function GetUsersList(ByVal sPnoteid As String) As String()
Dim curusers As List(Of CurrentUsers)
Dim ss As String()
Try
curusers = From listuser In objcursers Where listuser.sCurrentpatid = sPnoteid Select New CurrentUsers(listuser.CurName, listuser.Curid, listuser.Curpid) Distinct.ToList()
'Dim curusers1
'Dim averageValue = (objcursers.Where(Function(num) num.sCurrentpatid = sPnoteid)).Distinct()
Dim j As Integer = 0
ss = New String(curusers.Count) {}
For Each i As CurrentUsers In curusers
If Not ss.Contains(i.sCurrentusername) Then
ss(j) = i.sCurrentusername
j = j + 1
End If
Next
Catch ex As Exception
End Try
Return ss
End Function
End Class
End Namespace
but it
throws exception as Unable to get value of the property 'hub': object is null or undefined anybody pls help me.. would be great help for me... thanks in advance...
推荐答案
(function(){
try {
(function () { try {
.connection.hub 。开始();
var myHub =
.connection.hub.start(); var myHub =
.connection.Hubupdatedb;
alert('hub connected。');
}
catch(e){alert('错误:'+ e.message); }
});
myHub.client.AllcurrentUsers = function(allusers){
alert('来自集线器的值得到......')'
}
< / script >
.connection.Hubupdatedb; alert('hub connected.'); } catch (e) { alert('Error: ' + e.message); } }); myHub.client.AllcurrentUsers = function (allusers) { alert('Values from hub is got..')' } </script>
启动类
Startup Class
<Assembly: OwinStartup(GetType(HubForClients.Startup))>
Namespace HubForClients
Public Class Startup
Public Sub Configuration(ByVal app As IAppBuilder)
app.MapSignalR()
End Sub
End Class
End Namespace
Hub类
命名空间HubFor客户
< hubname(hubupdatedb)>
公共类HubClass
继承中心
公共共享sCurrentClient As String
Public Shared objcursers As New List(Of CurrentUsers)()
Sub finddata(ByVal sCtrlID As String,ByVal sDatavalue As String,ByVal Noteid As String,ByVal CtrlType As String)
尝试
Dim objdb As DB = New DB(Nothing)
如果Noteid<> 0然后
Clients.Group(Noteid).connectClients(sCtrlID,sDatavalue,CtrlType)
结束如果
Catch ex As Exception
结束尝试
结束子
公共覆盖函数OnConnected()作为任务
Dim objupdatedb作为UpdateDB = New UpdateDB()
尝试
sCurrentClient = objupdatedb.GetSession()
如果sCurrentClient<> 0然后
Groups.Add(Context.ConnectionId,sCurrentClient)
结束如果
Catch ex As Exception
结束尝试
''''''''将当前用户添加到列表中。''''''''''''''''' '''''''''
如果objcursers.Count> = 0那么
Dim sStaffid As String = objupdatedb.GetStaffid()
Dim sStaffname As String = objupdatedb.GetStaffname()
objcursers.Add(New CurrentUsers With {.sCurrentusername = sStaffname,.sCurrentuserid = sStaffid,.sCurrentpatid = sCurrentClient})
结束如果
返回MyBase.OnConnected()
结束功能
公共函数GetUsersList( ByVal sPnoteid As String)As String()
Dim curusers As L ist(Of CurrentUsers)
Dim ss As String()
尝试
curusers =来自listuser in objcursers其中listuser.sCurrentpatid = sPnoteid选择New CurrentUsers(listuser.CurName,listuser.Curid,listuser.Curpid)Distinct.ToList()
'Dim curusers1
'Dim averageValue =(objcursers.Where(Function(num) )num.sCurrentpatid = sPnoteid))。Distinct()
Dim j As Integer = 0
ss = New String(curusers.Count){}
For Each i As CurrentUsers在curusers中
如果不是ss.Contains(i.sCurrentusername)那么
ss(j)= i.sCurrentusername
j = j + 1
结束如果
下一页
Catch ex As Exception
结束尝试
返回ss
结束功能
结束课程
结束命名空间
但是它
抛出异常因为无法获取属性'hub'的值:对象为null或未定义任何人请帮助我..对我来说会很有帮助..提前谢谢......
Hub Class
Namespace HubForClients
<hubname("hubupdatedb")>
Public Class HubClass
Inherits Hub
Public Shared sCurrentClient As String
Public Shared objcursers As New List(Of CurrentUsers)()
Sub finddata(ByVal sCtrlID As String, ByVal sDatavalue As String, ByVal Noteid As String, ByVal CtrlType As String)
Try
Dim objdb As DB = New DB(Nothing)
If Noteid <> "0" Then
Clients.Group(Noteid).connectClients(sCtrlID, sDatavalue, CtrlType)
End If
Catch ex As Exception
End Try
End Sub
Public Overrides Function OnConnected() As Task
Dim objupdatedb As UpdateDB = New UpdateDB()
Try
sCurrentClient = objupdatedb.GetSession()
If sCurrentClient <> "0" Then
Groups.Add(Context.ConnectionId, sCurrentClient)
End If
Catch ex As Exception
End Try
''''''''''Add current user to a list.''''''''''''''''''''''''''''''''
If objcursers.Count >= 0 Then
Dim sStaffid As String = objupdatedb.GetStaffid()
Dim sStaffname As String = objupdatedb.GetStaffname()
objcursers.Add(New CurrentUsers With {.sCurrentusername = sStaffname, .sCurrentuserid = sStaffid, .sCurrentpatid = sCurrentClient})
End If
Return MyBase.OnConnected()
End Function
Public Function GetUsersList(ByVal sPnoteid As String) As String()
Dim curusers As List(Of CurrentUsers)
Dim ss As String()
Try
curusers = From listuser In objcursers Where listuser.sCurrentpatid = sPnoteid Select New CurrentUsers(listuser.CurName, listuser.Curid, listuser.Curpid) Distinct.ToList()
'Dim curusers1
'Dim averageValue = (objcursers.Where(Function(num) num.sCurrentpatid = sPnoteid)).Distinct()
Dim j As Integer = 0
ss = New String(curusers.Count) {}
For Each i As CurrentUsers In curusers
If Not ss.Contains(i.sCurrentusername) Then
ss(j) = i.sCurrentusername
j = j + 1
End If
Next
Catch ex As Exception
End Try
Return ss
End Function
End Class
End Namespace
but it
throws exception as Unable to get value of the property 'hub': object is null or undefined anybody pls help me.. would be great help for me... thanks in advance...
这篇关于信号R 2.1.2中未定义集线器参考的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!