2017-08-10 23 views
0

次のコードでは、クライアントの接続または切断時にOnConnectedイベントとDisconnectedイベントが2回発生します。これを避ける方法は? 私はすべてのコンポーネントの最終バージョンを持っています。OnConnectedおよびOnDisconnectedイベントは2回発生しますか?

Imports Microsoft.AspNet.SignalR 
Imports Microsoft.Owin.Cors 
Imports Microsoft.Owin.Hosting 
Imports Owin 
Public Class Form1 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
     Dim url As String = "http://localhost:8080/arc/" 
     WebApp.Start(url) 
    End Sub 
End Class 
Class Startup 
    Public Sub Configuration(app As IAppBuilder) 
     app.UseCors(CorsOptions.AllowAll) 
     app.MapSignalR() 
    End Sub 
End Class 
Public Class MyHub 
    Inherits Hub 
    Public Sub Send(name As String, message As String) 
     Clients.All.addMessage(name, message) 
    End Sub 
    Public Overrides Function OnConnected() As Task 
     Debug.Print("Client connected: " + Context.ConnectionId) 
     Return MyBase.OnConnected() 
    End Function 
    Public Overrides Function OnDisconnected(stopCalled As Boolean) As Task 
     Debug.Print("Client DISconnected: " + Context.ConnectionId) 
     Return MyBase.OnDisconnected(True) 
    End Function 
    End Class 

Vb.netにおけるクライアントコードは以下の通りである:

Imports Microsoft.AspNet.SignalR.Client 
Imports System.ComponentModel 
Imports Microsoft.AspNet.SignalR.Client.Hubs 

Partial Public Class MainWindow 
    Inherits Window 
    Implements INotifyPropertyChanged 
    Public connection As HubConnection = New HubConnection("http://localhost:8080/arc/") 
    Public myHub As IHubProxy 

    Private Sub MainWindow_Loaded(sender As Object, e As RoutedEventArgs) Handles Me.Loaded 
     DataContext = Me 
     connection = New HubConnection("http://localhost:8080/arc/") 

     myHub = connection.CreateHubProxy("myHub") 
     myHub.On(Of String)("addMessage", AddressOf addMessage) 
    End Sub 

    Async Sub btnShowSignal_Click(sender As Object, e As RoutedEventArgs) 
     Await connection.Start() 
    End Sub 
+0

クライアントコードを表示 – Tester

+0

質問が編集され、クライアントコードが追加されました。ありがとう – SomeOneMore

答えて

0

ある日、私のMVCの方法は、2回発射した(signalrない、私のページでした)。

私はそれを調査し、私はこれを見つけた:それは404エラーコードで来ている場合

はあなたのレイアウト(マスターページ)から(HTMLの頭の中で)あなたのファビコンを削除します。 404の付いたブラウザのコンソールからあなたのfaviconをチェックしてください。

お互いの関係はわかりません。しかし、それは私にとってはその日に解決策でした。

単なるアイデアです。

+0

他のプロジェクトと同じ行動を試してください... – SomeOneMore

+0

1アイデア> 0アイデア –

関連する問題