信号R 2.1.2中未定义集线器参考 [英] Hub reference is undefined in signalR 2.1.2

查看:72
本文介绍了信号R 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆