Exemple #1
0
        public static void TestAvailability(object @value)
        {
            ISiteEndpoint endpoint = value as ISiteEndpoint;

            Stopwatch watcher = new Stopwatch();

            SiteEndpoint endpointBlock = new SiteEndpoint();

            watcher.Start();
            bool isAvailable = WebOperations
                               .CheckUriAvailability(endpoint.EndpointUrl, endpoint.Port, ref endpointBlock);

            watcher.Stop();

            if (endpointBlock != null)
            {
                endpoint.DestinationServer         = endpointBlock.DestinationServer;
                endpoint.DestinationAddress        = endpointBlock.DestinationAddress;
                endpoint.DestinationAddressType    = endpointBlock.DestinationAddressType;
                endpoint.HostInformation           = endpointBlock.HostInformation;
                endpoint.HttpProtocol              = endpointBlock.HttpProtocol;
                endpoint.IsAvailable               = isAvailable;
                endpoint.ServerResponse            = endpointBlock.ServerResponse;
                endpoint.ServerResponseDescription = endpointBlock.ServerResponseDescription;
                endpoint.ResponseTime              = endpointBlock.ResponseTime;
            }

            watcher.Reset();

            if (MultiThreading.ActiveTaskCounter > 0)
            {
                MultiThreading.ActiveTaskCounter--;
            }
        }
Exemple #2
0
        private dynamic PostEndpoint(dynamic parameters)
        {
            SiteEndpoint newEndpoint = this.Bind <SiteEndpoint>();
            int          result      = _endpointRepository.PostSiteEndpoint(newEndpoint);

            logManager.Write($"[POST]-> PostEndpoint Id: {result}");
            return(Response.AsJson(result));
        }
Exemple #3
0
        public static IEnumerable <ISiteEndpoint> TestAvailability(this IEnumerable <ISiteEndpoint> endpoints)
        {
            List <ISiteEndpoint> endpointList = new List <ISiteEndpoint>();
            List <Task>          epTaskList   = new List <Task>();

            foreach (ISiteEndpoint value in endpoints)
            {
                Task task = new Task(new Action(delegate
                {
                    ISiteEndpoint endpoint = value as ISiteEndpoint;

                    Stopwatch watcher = new Stopwatch();

                    SiteEndpoint endpointBlock = new SiteEndpoint();
                    watcher.Start();
                    bool isAvailable = WebOperations
                                       .CheckUriAvailability(endpoint.EndpointUrl, endpoint.Port, ref endpointBlock);
                    watcher.Stop();

                    if (endpointBlock != null)
                    {
                        endpoint.DestinationServer         = endpointBlock.DestinationServer;
                        endpoint.DestinationAddress        = endpointBlock.DestinationAddress;
                        endpoint.DestinationAddressType    = endpointBlock.DestinationAddressType;
                        endpoint.HostInformation           = endpointBlock.HostInformation;
                        endpoint.HttpProtocol              = endpointBlock.HttpProtocol;
                        endpoint.IsAvailable               = isAvailable;
                        endpoint.ServerResponse            = endpointBlock.ServerResponse;
                        endpoint.ServerResponseDescription = endpointBlock.ServerResponseDescription;
                        endpoint.ResponseTime              = endpointBlock.ResponseTime;

                        endpointList.Add(endpoint);
                    }

                    watcher.Reset();

                    if (MultiThreading.ActiveTaskCounter > 0)
                    {
                        MultiThreading.ActiveTaskCounter--;
                    }
                }));
                epTaskList.Add(task);
            }
            MultiThreading.Run(epTaskList);
            return(endpointList.AsEnumerable());
        }
Exemple #4
0
 public int PostSiteEndpoint(SiteEndpoint siteEndpoint)
 {
     return(DataVault
            .Post(DapperMethod.TrackingServices.PostSiteEndpoint, siteEndpoint));
 }
Exemple #5
0
 public static SiteEndpoint PostSiteEndpoint(SiteEndpoint item)
 {
     return(WebOperations
            .WebPost(item, WebOperations.WebMethod.POST_ENDPOINT, _authToken));
 }