public async Task TryMethod(Task task, WebServiceType type, string additionalErrorInfo = null) { try { _servicesStatus.SetStatus(WebServiceType.Web, true); _servicesStatus.SetStatus(type, true); await task; } catch (ServiceUnavailableException ex) { Handle(type, ex, additionalErrorInfo); } catch (ServiceAuthenticationException ex) { Handle(type, ex, additionalErrorInfo); } catch (ServiceException ex) { Handle(type, ex, additionalErrorInfo); } catch (WebException ex) { Handle(ex, additionalErrorInfo); } catch (HttpRequestException ex) { Handle(ex, additionalErrorInfo); } }
public ErrorHandler(RequestDelegate next, int status, IErrorPage page, WebServiceType check) { _next = next; _page = page; _status = status; _check = check; }
public async Task <T> TryMethod <T>(Task <T> task, T defaultReturnValue, WebServiceType type, string additionalErrorInfo = null) { try { _servicesStatus.SetStatus(WebServiceType.Web, true); _servicesStatus.SetStatus(type, true); return(await task); } catch (ServiceUnavailableException ex) { Handle(type, ex, additionalErrorInfo); } catch (ServiceAuthenticationException ex) { Handle(type, ex, additionalErrorInfo); } catch (ServiceException ex) { Handle(type, ex, additionalErrorInfo); } catch (WebException ex) { Handle(ex, additionalErrorInfo); } catch (HttpRequestException ex) { Handle(ex, additionalErrorInfo); } return(defaultReturnValue); }
internal WSHelper(WebServiceType type) { m_callType = type; m_pkg = new WSPackage(); switch (m_callType) { case WebServiceType.InsertWorkItem: m_pkg.WorkItemOperations = new WSInsertWorkItem[1]; m_pkg.WorkItemOperations[0] = new WSInsertWorkItem(); break; case WebServiceType.UpdateWorkItem: m_pkg.WorkItemOperations = new WSUpdateWorkItem[1]; m_pkg.WorkItemOperations[0] = new WSUpdateWorkItem(); break; default: Debug.Assert(false, "Invalid Call Type for creating Web Service Helper Object"); break; } //set bypass rules m_pkg.WorkItemOperations[0].BypassRules = 1; // check whether setting product is required m_pkg.Product = ClientService.Url; }
private void Handle(WebServiceType type, ServiceAuthenticationException ex, string additionalErrorInfo) { _servicesStatus.SetStatus(type, false, ex.Message); _errorHandler.Error(new Exception(additionalErrorInfo, ex), $"Authentication error for {type} service:" + Environment.NewLine + Environment.NewLine + ex.Message); }
public ServiceStatusViewModel(WebServiceType type, string title, IconType iconType, string genericErrorMessage, IWebServicesStatus webStatusService) { Icon = iconType.ToString(); Title = title; _genericErrorMessage = genericErrorMessage; _type = type; _webStatusService = webStatusService; }
private void GenerateCustomMethods() { CustomMethods = new List <CustomMethodInfo>(); IEnumerable <MethodInfo> methods = WebServiceType.GetMethods().Where(x => x.CustomAttributes.ToList().Any(customAttribute => customAttribute.NamedArguments.Any(argument => argument.MemberName == _requestNameSpaceName))); AppendAllMethodsToCustomMethodInfo(methods); }
public static IWebService BuildWebService(WebServiceType type) { if (type == WebServiceType.CryptoCompare) { return new CryptoWebService(); } if (type == WebServiceType.Test) { return new TestWebService(); } return null; }
private void GenerateWSDL(WebServiceType serviceType, Type type, string filepath, bool generateSPFile) { if (serviceType == WebServiceType.ASMX) { var wsAttr = type.GetCustomAttribute <WebServiceAttribute>(); string ns = wsAttr.Namespace; string asmx = "http://localhost/" + type.Name + ".asmx"; if (!string.IsNullOrEmpty(ns) && ns[ns.Length - 1] != '/') { Console.WriteLine($"Invalid namespace, '{ns}' does not end with a /"); return; } var reflector = new ServiceDescriptionReflector(); reflector.Reflect(type, asmx); if (reflector.ServiceDescriptions.Count > 1) { Console.WriteLine("Multiple service descriptions not supported."); return; } var stream = new MemoryStream(); var xmlWriter = new XmlTextWriter(stream, Encoding.UTF8) { Formatting = Formatting.Indented }; reflector.ServiceDescriptions[0].Write(xmlWriter); var textReader = new StreamReader(stream); stream.Seek(0, SeekOrigin.Begin); string xml = textReader.ReadToEnd(); if (generateSPFile && serviceType == WebServiceType.ASMX) { // Replace header xml = xml.Replace("<?xml version=\"1.0\" encoding=\"utf-8\"?>", Utils.GetResource("SP2007Header.xml")); // Fix services xml = xml.Replace("location=\"" + asmx + "\"", "location=<% SPHttpUtility.AddQuote(SPHttpUtility.HtmlEncode(SPWeb.OriginalBaseUrl(Request)),Response.Output); %>"); } if (WriteFile(filepath, xml)) { Console.WriteLine("WSDL has been generated : '" + filepath + "'"); } } }
public async Task TryMethod(Task task, WebServiceType type, string additionalErrorInfo = null) { if (_servicesStatus.IsOnline(WebServiceType.LastFm)) { try { _servicesStatus.SetStatus(WebServiceType.Web, true); _servicesStatus.SetStatus(WebServiceType.LastFm, true); await task; } catch (Exception ex) { HandleError(ex, additionalErrorInfo); } } }
public async Task <T> TryMethod <T>(Task <T> task, T defaultReturnValue, WebServiceType type, string additionalErrorInfo = null) { if (_servicesStatus.IsOnline(WebServiceType.LastFm)) { try { _servicesStatus.SetStatus(WebServiceType.Web, true); _servicesStatus.SetStatus(WebServiceType.LastFm, true); return(await task); } catch (Exception ex) { HandleError(ex, additionalErrorInfo); } } return(defaultReturnValue); }
public byte[] PackageMsg(WebServiceType type, string config, byte[] data = null) { byte[] typeByte = BitConverter.GetBytes((Int32)type); byte[] configByte = Encoding.UTF8.GetBytes(config); byte[] configSizeByte = BitConverter.GetBytes((UInt32)configByte.Length); int bufSize = typeByte.Length + configSizeByte.Length + configByte.Length; if (data != null) { bufSize += data.Length; } byte[] buf = new byte[bufSize]; int offset = 0; //消息类型 4 byte Array.Copy(typeByte, 0, buf, offset, 4); offset += 4; //消息大小 4 byte Array.Copy(configSizeByte, 0, buf, offset, 4); offset +=4; //消息 Array.Copy(configByte, 0, buf, offset, configByte.Length); offset += configByte.Length; if (data != null) {//附加byte[] 数据 Array.Copy(data, 0, buf, offset, data.Length); offset += data.Length; } if (offset != bufSize) { Debug.Log("error:offset != bufSize"); } return buf; }
public void GenerateFiles(WSDLOptions options) { string outputFolder = options.OutputFolder.FullName; foreach (var kvType in serviceTypes) { WebServiceType serviceType = kvType.Key; Type type = kvType.Value; if (options.GenerateWSDL) { string wsdl = Path.Combine(outputFolder, type.Name + ".wsdl"); GenerateWSDL(serviceType, type, wsdl, false); } if (options.GenerateSPWSDL) { string spwsdl = Path.Combine(outputFolder, type.Name + "wsdl.aspx"); GenerateWSDL(serviceType, type, spwsdl, true); } if (options.GenerateSPDisco) { string spdisco = Path.Combine(outputFolder, type.Name + "disco.aspx"); var wsAttr = type.GetCustomAttribute <WebServiceAttribute>(); string ns = wsAttr.Namespace; string xml = string.Format(Utils.GetResource("SP2007Disco.xml"), ns, type.Name); if (WriteFile(spdisco, xml)) { Console.WriteLine("Disco has been generated : '" + spdisco + "'"); } } } }
private void AddDefaultStatus(WebServiceType type) { _statusDictionary.Add(type, CreateStatus()); }
private string GetUrl(int row, int col, int zoom, WebServiceType TileType) { // YandexMap //string VersionYandexMap = "2.16.0"; //string VersionYandexSatellite = "1.19.0"; /// <summary> /// Bing Maps Customer Identification, more info here /// http://msdn.microsoft.com/en-us/library/bb924353.aspx /// </summary> string BingMapsClientToken = null; string language = "english"; switch (TileType) { #region -- Google -- case WebServiceType.GoogleMap: { string server = "mt"; string request = "vt"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); // http://mt1.google.com/vt/lyrs=m@130&hl=lt&x=18683&s=&y=10413&z=15&s=Galile return string.Format("http://{0}{1}.google.com/{2}/lyrs={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}", server, GetServerNum(row, col, 4), request, VersionGoogleMap, language, col, sec1, row, zoom, sec2); } case WebServiceType.GoogleSatellite: { string server = "khm"; string request = "kh"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); return string.Format("http://{0}{1}.google.com/{2}/v={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}", server, GetServerNum(row, col, 4), request, VersionGoogleSatellite, language, col, sec1, row, zoom, sec2); } case WebServiceType.GoogleLabels: { string server = "mt"; string request = "vt"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); // http://mt1.google.com/vt/lyrs=h@107&hl=lt&x=583&y=325&z=10&s=Ga // http://mt0.google.com/vt/lyrs=h@130&hl=lt&x=1166&y=652&z=11&s=Galile return string.Format("http://{0}{1}.google.com/{2}/lyrs={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}", server, GetServerNum(row, col, 4), request, VersionGoogleLabels, language, col, sec1, row, zoom, sec2); } case WebServiceType.GoogleTerrain: { string server = "mt"; string request = "vt"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); return string.Format("http://{0}{1}.google.com/{2}/v={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}", server, GetServerNum(row, col, 4), request, VersionGoogleTerrain, language, col, sec1, row, zoom, sec2); } #endregion #region -- Google (China) version -- case WebServiceType.GoogleMapChina: { string server = "mt"; string request = "vt"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); // http://mt3.google.cn/vt/lyrs=m@123&hl=zh-CN&gl=cn&x=3419&y=1720&z=12&s=G return string.Format("http://{0}{1}.google.cn/{2}/lyrs={3}&hl={4}&gl=cn&x={5}{6}&y={7}&z={8}&s={9}", server, GetServerNum(row, col, 4), request, VersionGoogleMapChina, "zh-CN", col, sec1, row, zoom, sec2); } case WebServiceType.GoogleSatelliteChina: { string server = "mt"; string request = "vt"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); // http://mt1.google.cn/vt/lyrs=s@59&gl=cn&x=3417&y=1720&z=12&s=Gal return string.Format("http://{0}{1}.google.cn/{2}/lyrs={3}&gl=cn&x={4}{5}&y={6}&z={7}&s={8}", server, GetServerNum(row, col, 4), request, VersionGoogleSatelliteChina, col, sec1, row, zoom, sec2); } case WebServiceType.GoogleLabelsChina: { string server = "mt"; string request = "vt"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); // http://mt1.google.cn/vt/imgtp=png32&lyrs=h@123&hl=zh-CN&gl=cn&x=3417&y=1720&z=12&s=Gal return string.Format("http://{0}{1}.google.cn/{2}/imgtp=png32&lyrs={3}&hl={4}&gl=cn&x={5}{6}&y={7}&z={8}&s={9}", server, GetServerNum(row, col, 4), request, VersionGoogleLabelsChina, "zh-CN", col, sec1, row, zoom, sec2); } case WebServiceType.GoogleTerrainChina: { string server = "mt"; string request = "vt"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); // http://mt2.google.cn/vt/lyrs=t@108,r@123&hl=zh-CN&gl=cn&x=3418&y=1718&z=12&s=Gali return string.Format("http://{0}{1}.google.com/{2}/lyrs={3}&hl={4}&gl=cn&x={5}{6}&y={7}&z={8}&s={9}", server, GetServerNum(row, col, 4), request, VersionGoogleTerrainChina, "zh-CN", col, sec1, row, zoom, sec2); } #endregion #region -- Google (Korea) version -- case WebServiceType.GoogleMapKorea: { string server = "mt"; string request = "mt"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); // http://mt0.gmaptiles.co.kr/mt/v=kr1.12&hl=lt&x=876&y=400&z=10&s=Gali var ret = string.Format("http://{0}{1}.gmaptiles.co.kr/{2}/v={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}", server, GetServerNum(row, col, 4), request, VersionGoogleMapKorea, language, col, sec1, row, zoom, sec2); return ret; } case WebServiceType.GoogleSatelliteKorea: { string server = "khm"; string request = "kh"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); // http://khm1.google.co.kr/kh/v=59&x=873&y=401&z=10&s=Gali return string.Format("http://{0}{1}.google.co.kr/{2}/v={3}&x={4}{5}&y={6}&z={7}&s={8}", server, GetServerNum(row, col, 4), request, VersionGoogleSatelliteKorea, col, sec1, row, zoom, sec2); } case WebServiceType.GoogleLabelsKorea: { string server = "mt"; string request = "mt"; string sec1 = ""; // after &x=... string sec2 = ""; // after &zoom=... GetSecGoogleWords(row, col, out sec1, out sec2); // http://mt3.gmaptiles.co.kr/mt/v=kr1t.12&hl=lt&x=873&y=401&z=10&s=Gali return string.Format("http://{0}{1}.gmaptiles.co.kr/{2}/v={3}&hl={4}&x={5}{6}&y={7}&z={8}&s={9}", server, GetServerNum(row, col, 4), request, VersionGoogleLabelsKorea, language, col, sec1, row, zoom, sec2); } #endregion #region -- Yahoo -- case WebServiceType.YahooMap: { // http://maps1.yimg.com/hx/tl?b=1&v=4.3&.intl=en&x=12&y=7&z=7&r=1 return string.Format("http://maps{0}.yimg.com/hx/tl?v={1}&.intl={2}&x={3}&y={4}&z={5}&r=1", ((GetServerNum(row, col, 2)) + 1), VersionYahooMap, language, col, (((1 << zoom) >> 1) - 1 - row), (zoom + 1)); } case WebServiceType.YahooSatellite: { // http://maps3.yimg.com/ae/ximg?v=1.9&t=a&s=256&.intl=en&x=15&y=7&z=7&r=1 return string.Format("http://maps{0}.yimg.com/ae/ximg?v={1}&t=a&s=256&.intl={2}&x={3}&y={4}&z={5}&r=1", 3, VersionYahooSatellite, language, col, (((1 << zoom) >> 1) - 1 - row), (zoom + 1)); } case WebServiceType.YahooLabels: { // http://maps1.yimg.com/hx/tl?b=1&v=4.3&t=h&.intl=en&x=14&y=5&z=7&r=1 return string.Format("http://maps{0}.yimg.com/hx/tl?v={1}&t=h&.intl={2}&x={3}&y={4}&z={5}&r=1", 1, VersionYahooLabels, language, col, (((1 << zoom) >> 1) - 1 - row), (zoom + 1)); } #endregion #region -- OpenStreet -- case WebServiceType.OpenStreetMap: case WebServiceType.OpenSeaMapHybrid: { char letter = "abc"[GetServerNum(row, col, 3)]; return string.Format("http://{0}.tile.openstreetmap.org/{1}/{2}/{3}.png", letter, zoom, col, row); } case WebServiceType.OpenStreetOsm: { char letter = "abc"[GetServerNum(row, col, 3)]; return string.Format("http://{0}.tah.openstreetmap.org/Tiles/tile/{1}/{2}/{3}.png", letter, zoom, col, row); } case WebServiceType.OpenCycleMap: { //http://b.tile.opencyclemap.org/cycle/13/4428/2772.png char letter = "abc"[GetServerNum(row, col, 3)]; return string.Format("http://{0}.tile.opencyclemap.org/cycle/{1}/{2}/{3}.png", letter, zoom, col, row); } case WebServiceType.OpenStreetMapSurfer: { // http://tiles1.mapsurfer.net/tms_r.ashx?x=37378&y=20826&z=16 return string.Format("http://tiles1.mapsurfer.net/tms_r.ashx?x={0}&y={1}&z={2}", col, row, zoom); } case WebServiceType.OpenStreetMapSurferTerrain: { // http://tiles2.mapsurfer.net/tms_t.ashx?x=9346&y=5209&z=14 return string.Format("http://tiles2.mapsurfer.net/tms_t.ashx?x={0}&y={1}&z={2}", col, row, zoom); } case WebServiceType.OpenSeaMapLabels: { // http://tiles.openseamap.org/seamark/15/17481/10495.png return string.Format("http://tiles.openseamap.org/seamark/{0}/{1}/{2}.png", zoom, col, row); } #endregion #region -- Bing -- case WebServiceType.BingMap: { string key = TileXYToQuadKey(col, row, zoom); return string.Format("http://ecn.t{0}.tiles.virtualearth.net/tiles/r{1}.png?g={2}&mkt={3}{4}", GetServerNum(row, col, 4), key, VersionBingMaps, language, (!string.IsNullOrEmpty(BingMapsClientToken) ? "&token=" + BingMapsClientToken : string.Empty)); } case WebServiceType.BingMap_New: { // http://ecn.t3.tiles.virtualearth.net/tiles/r12030012020233?g=559&mkt=en-us&lbl=l1&stl=h&shading=hill&n=z string key = TileXYToQuadKey(col, row, zoom); return string.Format("http://ecn.t{0}.tiles.virtualearth.net/tiles/r{1}.png?g={2}&mkt={3}{4}&lbl=l1&stl=h&shading=hill&n=z", GetServerNum(row, col, 4), key, VersionBingMaps, language, (!string.IsNullOrEmpty(BingMapsClientToken) ? "&token=" + BingMapsClientToken : string.Empty)); } case WebServiceType.BingSatellite: { string key = TileXYToQuadKey(col, row, zoom); return string.Format("http://ecn.t{0}.tiles.virtualearth.net/tiles/a{1}.jpeg?g={2}&mkt={3}{4}", GetServerNum(row, col, 4), key, VersionBingMaps, language, (!string.IsNullOrEmpty(BingMapsClientToken) ? "&token=" + BingMapsClientToken : string.Empty)); } case WebServiceType.BingHybrid: { string key = TileXYToQuadKey(col, row, zoom); return string.Format("http://ecn.t{0}.tiles.virtualearth.net/tiles/h{1}.jpeg?g={2}&mkt={3}{4}", GetServerNum(row, col, 4), key, VersionBingMaps, language, (!string.IsNullOrEmpty(BingMapsClientToken) ? "&token=" + BingMapsClientToken : string.Empty)); } #endregion #region -- ArcGIS -- case WebServiceType.ArcGIS_StreetMap_World_2D: { // http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer/tile/0/0/0.jpg return string.Format("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } case WebServiceType.ArcGIS_Imagery_World_2D: { // http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer/tile/1/0/1.jpg return string.Format("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } case WebServiceType.ArcGIS_ShadedRelief_World_2D: { // http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_ShadedRelief_World_2D/MapServer/tile/1/0/1.jpg return string.Format("http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_ShadedRelief_World_2D/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } case WebServiceType.ArcGIS_Topo_US_2D: { // http://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/MapServer/tile/4/3/15 return string.Format("http://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } case WebServiceType.ArcGIS_World_Physical_Map: { // http://services.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer/tile/2/0/2.jpg return string.Format("http://server.arcgisonline.com/ArcGIS/rest/services/World_Physical_Map/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } case WebServiceType.ArcGIS_World_Shaded_Relief: { // http://services.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/0/0/0jpg return string.Format("http://server.arcgisonline.com/ArcGIS/rest/services/World_Shaded_Relief/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } case WebServiceType.ArcGIS_World_Street_Map: { // http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/0/0/0jpg return string.Format("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } case WebServiceType.ArcGIS_World_Terrain_Base: { // http://services.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer/tile/0/0/0jpg return string.Format("http://server.arcgisonline.com/ArcGIS/rest/services/World_Terrain_Base/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } case WebServiceType.ArcGIS_World_Topo_Map: { // http://services.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/0/0/0jpg return string.Format("http://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } #if TESTpjbcoetzer case WebServiceType.ArcGIS_TestPjbcoetzer: { // http://mapping.mapit.co.za/ArcGIS/rest/services/World/MapServer/tile/Zoom/X/Y return string.Format("http://mapping.mapit.co.za/ArcGIS/rest/services/World/MapServer/tile/{0}/{1}/{2}", zoom, row, col); } #endif #endregion #region -- MapsLT -- //case WebServiceType.MapsLT_OrtoFoto: // { // // http://www.maps.lt/ortofoto/mapslt_ortofoto_vector_512/map/_alllayers/L02/R0000001b/C00000028.jpg // // http://arcgis.maps.lt/ArcGIS/rest/services/mapslt_ortofoto/MapServer/tile/0/9/13 // // return string.Format("http://www.maps.lt/ortofoto/mapslt_ortofoto_vector_512/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.jpg", zoom, row, col); // // http://dc1.maps.lt/cache/mapslt_ortofoto_512/map/_alllayers/L03/R0000001c/C00000029.jpg // // return string.Format("http://arcgis.maps.lt/ArcGIS/rest/services/mapslt_ortofoto/MapServer/tile/{0}/{1}/{2}", zoom, row, col); // // http://dc1.maps.lt/cache/mapslt_ortofoto_512/map/_alllayers/L03/R0000001d/C0000002a.jpg // return string.Format("http://dc1.maps.lt/cache/mapslt_ortofoto/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.jpg", zoom, row, col); // } //case WebServiceType.MapsLT_OrtoFoto_2010: // { // return string.Format("http://dc1.maps.lt/cache/mapslt_ortofoto_2010/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.jpg", zoom, row, col); // } //case WebServiceType.MapsLT_Map: // { // // http://www.maps.lt/ortofoto/mapslt_ortofoto_vector_512/map/_alllayers/L02/R0000001b/C00000028.jpg // // http://arcgis.maps.lt/ArcGIS/rest/services/mapslt_ortofoto/MapServer/tile/0/9/13 // // return string.Format("http://www.maps.lt/ortofoto/mapslt_ortofoto_vector_512/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.jpg", zoom, row, col); // // http://arcgis.maps.lt/ArcGIS/rest/services/mapslt/MapServer/tile/7/1162/1684.png // // http://dc1.maps.lt/cache/mapslt_512/map/_alllayers/L03/R0000001b/C00000029.png // // http://dc1.maps.lt/cache/mapslt/map/_alllayers/L02/R0000001c/C00000029.png // return string.Format("http://dc1.maps.lt/cache/mapslt/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png", zoom, row, col); // } //case WebServiceType.MapsLT_Map_2_5D: // { // // http://dc1.maps.lt/cache/mapslt_25d_vkkp/map/_alllayers/L01/R00007194/C0000a481.png // int z = zoom; // if (zoom >= 10) // { // z -= 10; // } // return string.Format("http://dc1.maps.lt/cache/mapslt_25d_vkkp/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png", z, row, col); // } //case WebServiceType.MapsLT_Map_Labels: // { // //http://arcgis.maps.lt/ArcGIS/rest/services/mapslt_ortofoto_overlay/MapServer/tile/0/9/13 // //return string.Format("http://arcgis.maps.lt/ArcGIS/rest/services/mapslt_ortofoto_overlay/MapServer/tile/{0}/{1}/{2}", zoom, row, col); // //http://dc1.maps.lt/cache/mapslt_ortofoto_overlay_512/map/_alllayers/L03/R0000001d/C00000029.png // return string.Format("http://dc1.maps.lt/cache/mapslt_ortofoto_overlay/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png", zoom, row, col); // } #endregion #region -- KarteLV -- //case WebServiceType.KarteLV_Map: // { // // http://www.maps.lt/cache/ikartelv/map/_alllayers/L03/R00000037/C00000053.png // return string.Format("http://www.maps.lt/cache/ikartelv/map/_alllayers/L{0:00}/R{1:x8}/C{2:x8}.png", zoom, row, col); // } #endregion #region -- YandexMap -- //case WebServiceType.YandexMapRu: // { // string server = "vec"; // //http://vec01.maps.yandex.ru/tiles?l=map&v=2.10.2&x=1494&y=650&z=11 // return string.Format("http://{0}0{1}.maps.yandex.ru/tiles?l=map&v={2}&x={3}&y={4}&z={5}", server, GetServerNum(row, col, 4) + 1, VersionYandexMap, col, row, zoom); // } //case WebServiceType.YandexMapRuSatellite: // { // string server = "sat"; // //http://sat04.maps.yandex.ru/tiles?l=sat&v=1.18.0&x=149511&y=83513&z=18&g=Gagari // return string.Format("http://{0}0{1}.maps.yandex.ru/tiles?l=sat&v={2}&x={3}&y={4}&z={5}", server, GetServerNum(row, col, 4) + 1, VersionYandexSatellite, col, row, zoom); // } //case WebServiceType.YandexMapRuLabels: // { // string server = "vec"; // //http://vec03.maps.yandex.ru/tiles?l=skl&v=2.15.0&x=585&y=326&z=10&g=G // return string.Format("http://{0}0{1}.maps.yandex.ru/tiles?l=skl&v={2}&x={3}&y={4}&z={5}", server, GetServerNum(row, col, 4) + 1, VersionYandexMap, col, row, zoom); // } #endregion #region -- WMS demo -- //case WebServiceType.MapBenderWMS: // { // var px1 = ProjectionForWMS.FromTileXYToPixel(T); // var px2 = px1; // px1.Offset(0, ProjectionForWMS.TileSize.Height); // PointLatLng p1 = ProjectionForWMS.FromPixelToLatLng(px1, zoom); // px2.Offset(ProjectionForWMS.TileSize.Width, 0); // PointLatLng p2 = ProjectionForWMS.FromPixelToLatLng(px2, zoom); // var ret = string.Format(CultureInfo.InvariantCulture, "http://mapbender.wheregroup.com/cgi-bin/mapserv?map=/data/umn/osm/osm_basic.map&VERSION=1.1.1&REQUEST=GetMap&SERVICE=WMS&LAYERS=OSM_Basic&styles=&bbox={0},{1},{2},{3}&width={4}&height={5}&srs=EPSG:4326&format=image/png", p1.Lng, p1.Lat, p2.Lng, p2.Lat, ProjectionForWMS.TileSize.Width, ProjectionForWMS.TileSize.Height); // return ret; // } #endregion #region -- NearMap -- //case WebServiceType.NearMap: // { // // http://web1.nearmap.com/maps/hl=en&x=18681&y=10415&z=15&nml=Map_&nmg=1&s=kY8lZssipLIJ7c5 // return string.Format("http://web{0}.nearmap.com/maps/hl=en&x={1}&y={2}&z={3}&nml=Map_&nmg=1", GetServerNum(row, col, 3), col, row, zoom); // } //case WebServiceType.NearMapSatellite: // { // // http://web2.nearmap.com/maps/hl=en&x=34&y=20&z=6&nml=Vert&s=2NYYKGF // return string.Format("http://web{0}.nearmap.com/maps/hl=en&x={1}&y={2}&z={3}&nml=Vert", GetServerNum(row, col, 3), col, row, zoom); // } //case WebServiceType.NearMapLabels: // { // //http://web1.nearmap.com/maps/hl=en&x=37&y=19&z=6&nml=MapT&nmg=1&s=2KbhmZZ // return string.Format("http://web{0}.nearmap.com/maps/hl=en&x={1}&y={2}&z={3}&nml=MapT&nmg=1", GetServerNum(row, col, 3), col, row, zoom); // } #endregion } return ""; }
public static IApplicationBuilder UseErrorHandler(this IApplicationBuilder builder, int statusCode, IErrorPage page, WebServiceType type) { return builder.UseMiddleware<ErrorHandler>(statusCode, page, type); }
public void SetStatus(WebServiceType type, bool online, string errorMessage) { _statusDictionary[type] = CreateStatus(online, errorMessage); }
private void Handle(WebServiceType type, ServiceUnavailableException ex, string additionalErrorInfo) { _servicesStatus.SetStatus(type, false, ex.Message); _errorHandler.Warn(new Exception(additionalErrorInfo, ex.InnerException)); }
public bool IsOnline(WebServiceType type) { return(_statusDictionary[type].Item1); }
public DateTime GetTimeUpdated(WebServiceType type) { return(_statusDictionary[type].Item3); }
public string GetErrorMessage(WebServiceType type) { return(_statusDictionary[type].Item2); }
public void Create(WebServiceType ServiceType) { Type = ServiceType; switch (ServiceType) { #region -- Google -- case (WebServiceType.GoogleMap): case (WebServiceType.GoogleSatellite): case (WebServiceType.GoogleLabels): case (WebServiceType.GoogleTerrain): case (WebServiceType.GoogleHybrid): case (WebServiceType.GoogleMapChina): case (WebServiceType.GoogleSatelliteChina): case (WebServiceType.GoogleLabelsChina): case (WebServiceType.GoogleTerrainChina): case (WebServiceType.GoogleHybridChina): { TryCorrectGoogleVersions(); Copyright = string.Format("©{0} Google - Map data ©{0} Tele Atlas, Imagery ©{0} TerraMetrics", DateTime.Today.Year); } break; #endregion #region -- Yahoo -- case (WebServiceType.YahooMap): case (WebServiceType.YahooSatellite): case (WebServiceType.YahooLabels): case (WebServiceType.YahooHybrid): { Copyright = string.Format("© Yahoo! Inc. - Map data & Imagery ©{0} NAVTEQ", DateTime.Today.Year); } break; #endregion #region -- Bing -- case (WebServiceType.BingMap): case (WebServiceType.BingMap_New): case (WebServiceType.BingSatellite): case (WebServiceType.BingHybrid): { TryCorrectBingVersions(); Copyright = string.Format("©{0} Microsoft Corporation, ©{0} NAVTEQ, ©{0} Image courtesy of NASA", DateTime.Today.Year); } break; #endregion #region -- ArcGIS -- case (WebServiceType.ArcGIS_StreetMap_World_2D): case (WebServiceType.ArcGIS_Imagery_World_2D): case (WebServiceType.ArcGIS_ShadedRelief_World_2D): case (WebServiceType.ArcGIS_Topo_US_2D): case (WebServiceType.ArcGIS_World_Physical_Map): case (WebServiceType.ArcGIS_World_Shaded_Relief): case (WebServiceType.ArcGIS_World_Street_Map): case (WebServiceType.ArcGIS_World_Terrain_Base): case (WebServiceType.ArcGIS_World_Topo_Map): { Copyright = string.Format("©{0} ESRI - Map data ©{0} ArcGIS", DateTime.Today.Year); } break; #endregion #region -- OpenStreet -- case (WebServiceType.OpenStreetMap): case (WebServiceType.OpenStreetOsm): case (WebServiceType.OpenStreetMapSurfer): case (WebServiceType.OpenStreetMapSurferTerrain): case (WebServiceType.OpenSeaMapLabels): case (WebServiceType.OpenSeaMapHybrid): case (WebServiceType.OpenCycleMap): { Copyright = string.Format("© OpenStreetMap - Map data ©{0} OpenStreetMap", DateTime.Today.Year); } break; #endregion } switch (ServiceType) { case (WebServiceType.ArcGIS_StreetMap_World_2D): case (WebServiceType.ArcGIS_Topo_US_2D): case (WebServiceType.ArcGIS_World_Topo_Map): { ProjectionInfo prjinfo = KnownCoordinateSystems.Geographic.World.WGS1984; Extent MaxExtent = new Extent(-180.0, -90, 180, 90); Size tlSize = new Size(256, 256); int StartNumX = 2; int StartNumY = 1; CreateAuto(prjinfo, 20, MaxExtent, tlSize, StartNumX, StartNumY); } break; case (WebServiceType.ArcGIS_ShadedRelief_World_2D): { ProjectionInfo prjinfo = KnownCoordinateSystems.Geographic.World.WGS1984; Extent MaxExtent = new Extent(-180.0, -90, 180, 90); Size tlSize = new Size(256, 256); int StartNumX = 2; int StartNumY = 1; CreateAuto(prjinfo, 12, MaxExtent, tlSize, StartNumX, StartNumY); } break; case (WebServiceType.ArcGIS_Imagery_World_2D): { ProjectionInfo prjinfo = KnownCoordinateSystems.Geographic.World.WGS1984; Extent MaxExtent = new Extent(-180.0, -90, 180, 90); Size tlSize = new Size(256, 256); int StartNumX = 2; int StartNumY = 1; CreateAuto(prjinfo, 9, MaxExtent, tlSize, StartNumX, StartNumY); } break; default: { ProjectionInfo prjinfo = KnownCoordinateSystems.Projected.World.WebMercator; Extent MaxExtent = new Extent(-20037508.342789, -20037508.342789, 20037508.342789, 20037508.342789); Size tlSize = new Size(256, 256); int StartNumX = 1; int StartNumY = 1; CreateAuto(prjinfo, 20, MaxExtent, tlSize, StartNumX, StartNumY); } break; } }
private void Handle(WebServiceType type, ServiceException ex, string additionalErrorInfo) { _servicesStatus.SetStatus(type, true); _errorHandler.Warn(new Exception(additionalErrorInfo, ex)); }