Example #1
0
        public static async Task StartNegotiationServer(
            IDictionary <string, object> stepParameters,
            IDictionary <string, object> pluginParameters)
        {
            NegotiationServer negotiationServer = null;

            stepParameters.TryGetTypedValue(SignalRConstants.Type,
                                            out string type, Convert.ToString);
            stepParameters.TryGetTypedValue(SignalRConstants.HubUrls,
                                            out string urls, Convert.ToString);
            if (pluginParameters.TryGetValue($"{SignalRConstants.NegotiationServer}.{type}", out _))
            {
                pluginParameters.TryGetTypedValue($"{SignalRConstants.NegotiationServer}.{type}",
                                                  out negotiationServer, (obj) => (NegotiationServer)obj);
            }
            else
            {
                // connection string is stored in 'urls'
                negotiationServer = new NegotiationServer(urls);
                pluginParameters[$"{SignalRConstants.NegotiationServer}.{type}"] = negotiationServer;
            }
            if (!negotiationServer.IsStarted)
            {
                await negotiationServer.Start();
            }
        }
Example #2
0
        public static async Task StopNegotiationServer(
            IDictionary <string, object> stepParameters,
            IDictionary <string, object> pluginParameters)
        {
            NegotiationServer negotiationServer = null;

            stepParameters.TryGetTypedValue(SignalRConstants.Type,
                                            out string type, Convert.ToString);
            if (pluginParameters.TryGetValue($"{SignalRConstants.NegotiationServer}.{type}", out _))
            {
                pluginParameters.TryGetTypedValue($"{SignalRConstants.NegotiationServer}.{type}",
                                                  out negotiationServer, (obj) => (NegotiationServer)obj);
            }
            if (negotiationServer != null &&
                negotiationServer.IsStarted)
            {
                await negotiationServer.Stop();
            }
        }