コード例 #1
0
        public CompilerService(IMessagePublisher messages)
        {
            messages.OfType <RequestMessage>()
            .Where(x => x.Type == "compileRequest")
            .Subscribe(x => {
                if (x?.Data?.Code == null)
                {
                    throw new InvalidOperationException("Code cannot be null.");
                }

                var result = TestRunner.Run(x.Data.Code, TestFixture);

                messages.Publish(new ResponseMessage("compileResult", x.ConnectionId, result));
            });
        }
コード例 #2
0
        public MessagingOutAdapter(IMessagePublisher messages, dynamic hub)
        {
            messages.OfType <ResponseMessage>()
            .Subscribe(x =>
            {
                hub.Clients.Client(x.ConnectionId).OnEvent(x.Type, new ChannelEvent
                {
                    Name        = x.Type,
                    ChannelName = x.Type,
                    Data        = x.Data
                });
            });

            messages.OfType <BroadcastMessage>()
            .Subscribe(x =>
            {
                hub.Clients.Group(x.Type).OnEvent(x.Type, new ChannelEvent
                {
                    Name        = x.Type,
                    ChannelName = x.Type,
                    Data        = x.Data
                });
            });
        }