InitializeAsync() 공개 메소드

public InitializeAsync ( CancellationToken ct ) : Task
ct System.Threading.CancellationToken
리턴 Task
예제 #1
0
        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());
        }
예제 #2
0
파일: WebServer.cs 프로젝트: mvacha/RTVS
        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());
        }
예제 #3
0
파일: WebServer.cs 프로젝트: Microsoft/RTVS
        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();
        }