//------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //------------------------------------------------------------------------------ namespace System.Web.UI { using System; using System.Web.UI; using System.Web.Resources; using System.Globalization; internal static class ApplicationServiceManager { public const int StringBuilderCapacity = 128; public static string MergeServiceUrls(string serviceUrl, string existingUrl, Control urlBase) { serviceUrl = serviceUrl.Trim(); if(serviceUrl.Length > 0) { serviceUrl = urlBase.ResolveClientUrl(serviceUrl); if(String.IsNullOrEmpty(existingUrl)) { // proxy has specified a url and we don't have one yet, so use it existingUrl = serviceUrl; } else { // proxy has specified a url but we arleady have a url either from ScriptManager itself or a previous proxy. // The urls must agree or an exception is thrown. if(!string.Equals(serviceUrl, existingUrl, StringComparison.OrdinalIgnoreCase)) { throw new ArgumentException(AtlasWeb.AppService_MultiplePaths); } } } return existingUrl; } } }