Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Xml / System / Xml / XmlResolver.cs / 1305376 / XmlResolver.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //[....] //----------------------------------------------------------------------------- namespace System.Xml { using System; using System.IO; using System.Text; using System.Security; using System.Security.Permissions; #if !SILVERLIGHT using System.Net; #endif using System.Runtime.Versioning; ////// /// public abstract class XmlResolver { ///Resolves external XML resources named by a Uniform /// Resource Identifier (URI). This class is ////// . /// /// public abstract Object GetEntity(Uri absoluteUri, string role, Type ofObjectToReturn); ///Maps a /// URI to an Object containing the actual resource. ////// /// #if !SILVERLIGHT [ResourceExposure(ResourceScope.Machine)] [ResourceConsumption(ResourceScope.Machine)] #endif public virtual Uri ResolveUri(Uri baseUri, string relativeUri) { if ( baseUri == null || ( !baseUri.IsAbsoluteUri && baseUri.OriginalString.Length == 0 ) ) { Uri uri = new Uri( relativeUri, UriKind.RelativeOrAbsolute ); #if !SILVERLIGHT // Path.GetFullPath is SecurityCritical if ( !uri.IsAbsoluteUri && uri.OriginalString.Length > 0 ) { uri = new Uri( Path.GetFullPath( relativeUri ) ); } #endif return uri; } else { if (relativeUri == null || relativeUri.Length == 0) { return baseUri; } // relative base Uri if ( !baseUri.IsAbsoluteUri ) { #if SILVERLIGHT // create temporary base for the relative URIs Uri tmpBaseUri = new Uri("tmp:///"); // create absolute base URI with the temporary base Uri absBaseUri = new Uri(tmpBaseUri, baseUri.OriginalString); // resolve the relative Uri into a new absolute URI Uri resolvedAbsUri = new Uri(absBaseUri, relativeUri); // make it relative by removing temporary base Uri resolvedRelUri = tmpBaseUri.MakeRelativeUri(resolvedAbsUri); return resolvedRelUri; #else throw new NotSupportedException(Res.GetString(Res.Xml_RelativeUriNotSupported)); #endif } return new Uri( baseUri, relativeUri ); } } #if !SILVERLIGHT //UE attension ///[To be supplied.] ////// /// public abstract ICredentials Credentials { set; } #endif public virtual bool SupportsType(Uri absoluteUri, Type type) { if (absoluteUri == null) { throw new ArgumentNullException("absoluteUri"); } if (type == null || type == typeof(Stream)) { return true; } return false; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LineServices.cs
- SizeConverter.cs
- QueueAccessMode.cs
- TimeoutTimer.cs
- Geometry.cs
- Underline.cs
- Rule.cs
- WebHttpBehavior.cs
- SubclassTypeValidatorAttribute.cs
- WebPartCancelEventArgs.cs
- HttpDictionary.cs
- ObjectContextServiceProvider.cs
- WmlTextBoxAdapter.cs
- Membership.cs
- EarlyBoundInfo.cs
- XmlDataSource.cs
- WmlFormAdapter.cs
- TypeConverter.cs
- MultiByteCodec.cs
- PrimitiveSchema.cs
- ZoneButton.cs
- DefaultIfEmptyQueryOperator.cs
- ActiveXSite.cs
- TextBox.cs
- SymbolTable.cs
- SqlDataSourceView.cs
- CommunicationObjectAbortedException.cs
- DocumentEventArgs.cs
- InputScopeAttribute.cs
- XmlReflectionMember.cs
- SqlVersion.cs
- MediaCommands.cs
- VectorAnimation.cs
- RegexCapture.cs
- PerformanceCounterLib.cs
- AuthorizationSection.cs
- ListBindingConverter.cs
- ProtectedProviderSettings.cs
- CorrelationQuery.cs
- StaticExtensionConverter.cs
- FrameworkRichTextComposition.cs
- XmlParserContext.cs
- BaseParaClient.cs
- PKCS1MaskGenerationMethod.cs
- Attributes.cs
- CodeCompileUnit.cs
- ClientTarget.cs
- IDispatchConstantAttribute.cs
- TypeExtensions.cs
- RuntimeConfigLKG.cs
- PropertyChangedEventArgs.cs
- SecurityPermission.cs
- XslCompiledTransform.cs
- BitmapDownload.cs
- AnimatedTypeHelpers.cs
- DynamicContractTypeBuilder.cs
- SqlLiftIndependentRowExpressions.cs
- CreatingCookieEventArgs.cs
- ProcessHost.cs
- MeshGeometry3D.cs
- RotateTransform.cs
- ParseNumbers.cs
- SchemaImporter.cs
- Metadata.cs
- MethodBody.cs
- DtdParser.cs
- QueryCacheManager.cs
- SystemThemeKey.cs
- WpfPayload.cs
- RegexStringValidator.cs
- SoapObjectWriter.cs
- ServiceBehaviorAttribute.cs
- XmlObjectSerializerReadContext.cs
- StringConverter.cs
- SQLDoubleStorage.cs
- XmlEntityReference.cs
- CachedTypeface.cs
- MaskedTextBoxTextEditorDropDown.cs
- ForceCopyBuildProvider.cs
- EventEntry.cs
- BindingOperations.cs
- DATA_BLOB.cs
- DataControlFieldHeaderCell.cs
- FileAuthorizationModule.cs
- RelationshipEndMember.cs
- DataReceivedEventArgs.cs
- ApplicationBuildProvider.cs
- WsdlBuildProvider.cs
- AsynchronousChannel.cs
- webproxy.cs
- DataGridItemEventArgs.cs
- CustomError.cs
- SQLMoney.cs
- ApplicationSettingsBase.cs
- MessageSecurityOverHttpElement.cs
- NumberSubstitution.cs
- CompiledQueryCacheEntry.cs
- RelatedView.cs
- RadioButton.cs
- XmlRawWriter.cs