示例#1
0
        public virtual bool Ping(Uri baseUri)
        {
            var pingTimeout      = this.Settings.PingTimeout.GetValueOrDefault(50);
            var requestOverrides = new RequestConnectionConfiguration()
                                   .ConnectTimeout(pingTimeout)
                                   .RequestTimeout(pingTimeout);
            var response = this._connection.HeadSync(CreateUriToPath(baseUri, ""), requestOverrides);

            if (response.Response == null)
            {
                return(false);
            }
            using (response.Response)
                return(response.Success);
        }
示例#2
0
        public virtual Task <bool> PingAsync(Uri baseUri)
        {
            var pingTimeout      = this.Settings.PingTimeout.GetValueOrDefault(50);
            var requestOverrides = new RequestConnectionConfiguration()
                                   .ConnectTimeout(pingTimeout)
                                   .RequestTimeout(pingTimeout);

            return(this._connection.Head(CreateUriToPath(baseUri, ""), requestOverrides)
                   .ContinueWith(t =>
            {
                var response = t.Result;
                if (response.Response == null)
                {
                    return false;
                }

                using (response.Response)
                    return response.Success;
            }));
        }