public InitializeAsync ( |
||
ct | ||
리턴 | Task |
public static async Task <string> CreateWebServerAsync(string remoteUrl, string baseAddress, CancellationToken ct) { Uri remoteUri = new Uri(remoteUrl); UriBuilder localUri = new UriBuilder(remoteUri); if (!remoteUri.Scheme.EqualsIgnoreCase("http")) { // TODO: reject } WebServer server = null; if (Servers.ContainsKey(remoteUri.Port)) { server = Servers[remoteUri.Port]; } else { server = new WebServer(remoteUri.Host, remoteUri.Port, baseAddress); await server.InitializeAsync(ct); Servers.Add(remoteUri.Port, server); } await server.DoWorkAsync(ct); localUri.Host = server.LocalHost; localUri.Port = server.LocalPort; return(localUri.Uri.ToString()); }
public static async Task <string> CreateWebServerAsync(string remoteUrl, string baseAddress, string name, ICoreServices services, IConsole console, CancellationToken ct = default(CancellationToken)) { Uri remoteUri = new Uri(remoteUrl); UriBuilder localUri = new UriBuilder(remoteUri); WebServer server; if (!Servers.TryGetValue(remoteUri.Port, out server)) { server = new WebServer(remoteUri.Host, remoteUri.Port, baseAddress, name, services, console); await server.InitializeAsync(ct); Servers.TryAdd(remoteUri.Port, server); } server.DoWorkAsync(ct).DoNotWait(); localUri.Host = server.LocalHost; localUri.Port = server.LocalPort; return(localUri.Uri.ToString()); }
public static async Task<string> CreateWebServerAsync(string remoteUrl, string baseAddress, string name, ICoreServices services, IConsole console, CancellationToken ct = default(CancellationToken)) { Uri remoteUri = new Uri(remoteUrl); UriBuilder localUri = new UriBuilder(remoteUri); WebServer server; if(!Servers.TryGetValue(remoteUri.Port, out server)) { server = new WebServer(remoteUri.Host, remoteUri.Port, baseAddress, name, services, console); await server.InitializeAsync(ct); Servers.TryAdd(remoteUri.Port, server); } server.DoWorkAsync(ct).DoNotWait(); localUri.Host = server.LocalHost; localUri.Port = server.LocalPort; return localUri.Uri.ToString(); }