예제 #1
0
        private void SignalR_Adapter_Fails_On_Client_Error(ISignalRServer server, String hostUrl, String hubUrl, SignalRMode mode)
        {
            server.Start();

            var registeredService = ResonanceServiceFactory.Default.RegisterService <
                TestCredentials,
                TestServiceInformation,
                TestAdapterInformation>(
                new TestCredentials()
            {
                Name = "Service User"
            },
                new TestServiceInformation()
            {
                ServiceId = "Service 1"
            },
                hubUrl,
                mode);

            bool connected = false;
            IResonanceAdapter serviceAdapter = null;


            registeredService.ConnectionRequest += (x, e) =>
            {
                serviceAdapter = e.Accept();
                serviceAdapter.Connect();
                connected = true;
            };

            SignalRAdapter <TestCredentials> adapter = new SignalRAdapter <TestCredentials>(
                new TestCredentials()
            {
                Name = "Test User"
            },
                hubUrl, "Service 1", mode);

            adapter.Connect();

            while (!connected)
            {
                Thread.Sleep(10);
            }

            Thread.Sleep(1000);

            server.Dispose();
            serviceAdapter.Dispose();

            TestHelper.WaitWhile(() => adapter.State != ResonanceComponentState.Failed, TimeSpan.FromSeconds(10));

            Assert.IsTrue(adapter.State == ResonanceComponentState.Failed);

            Assert.IsInstanceOfType(adapter.FailedStateException, typeof(WebSocketException));
        }
예제 #2
0
 public MessageHub(ISignalRServer server)
 {
     _server = server;
 }