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(); } }
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(); } }