public static VersionedWebServiceUri Create(WebServiceUri webServiceUri, int versionBucket) { VersionedWebServiceUri versionedWebServiceUri = new VersionedWebServiceUri(); versionedWebServiceUri.Set(webServiceUri, versionBucket); return(versionedWebServiceUri); }
internal static void Add(EmailAddress email, WebServiceUri uri, int versionBucket) { RemoteServiceUriCache.AutoDiscoverTracer.TraceDebug <object, WebServiceUri, EmailAddress>(0L, "{0}: Adding/Updating AS URI {1} for email {2} in cache.", TraceContext.Get(), uri, email); string key = email.Address.ToLower(); WebServiceUri webServiceUri = new WebServiceUri(uri, DateTime.UtcNow); lock (RemoteServiceUriCache.cacheLocker) { VersionedWebServiceUri versionedWebServiceUri = (VersionedWebServiceUri)RemoteServiceUriCache.cache[key]; if (versionedWebServiceUri == null) { if (500000 == RemoteServiceUriCache.cache.Count) { RemoteServiceUriCache.cache.RemoveAt(0); } versionedWebServiceUri = VersionedWebServiceUri.Create(webServiceUri, versionBucket); RemoteServiceUriCache.cache[key] = versionedWebServiceUri; } else { versionedWebServiceUri.Set(webServiceUri, versionBucket); } } }