XmlUrlResolver.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / ndp / fx / src / Xml / System / Xml / XmlUrlResolver.cs / 1 / XmlUrlResolver.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
// [....] 
//-----------------------------------------------------------------------------
 
namespace System.Xml 
{
    using System; 
    using System.IO;
    using System.Net;
    using System.Threading;
    using System.Security.Permissions; 
    using System.Security.Policy;
    using System.Security; 
 
    /// 
    ///  
    ///    Resolves external XML resources named by a
    ///       Uniform Resource Identifier (URI).
    /// 
    public class XmlUrlResolver : XmlResolver { 
        static object s_DownloadManager;
        ICredentials _credentials; 
 
        static XmlDownloadManager DownloadManager {
            get { 
                if ( s_DownloadManager == null ) {
                    object dm = new XmlDownloadManager();
                    Interlocked.CompareExchange( ref s_DownloadManager, dm, null );
                } 
                return (XmlDownloadManager)s_DownloadManager;
            } 
        } 

        // Construction 

        /// 
        /// 
        ///     
        ///       Creates a new instance of the XmlUrlResolver class.
        ///     
        ///  
        public XmlUrlResolver() {
        } 

        //UE attension
        /// 
        ///  
        ///    [To be supplied.]
        ///  
        public override ICredentials Credentials { 
            set { _credentials = value; }
        } 

        // Resource resolution

        ///  
        /// 
        ///    Maps a 
        ///       URI to an Object containing the actual resource. 
        /// 
       public override Object GetEntity(Uri absoluteUri, 
                                         string role,
                                         Type ofObjectToReturn) {
            if (ofObjectToReturn == null || ofObjectToReturn == typeof(System.IO.Stream)) {
                return DownloadManager.GetStream(absoluteUri, _credentials); 
            }
            else { 
                throw new XmlException(Res.Xml_UnsupportedClass, string.Empty); 
            }
        } 

        /// 
        /// 
        ///    [To be supplied.] 
        /// 
        [PermissionSetAttribute(SecurityAction.InheritanceDemand, Name = "FullTrust")] 
        public override Uri ResolveUri(Uri baseUri, string relativeUri){ 
            return base.ResolveUri(baseUri, relativeUri);
        } 
    }
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.


                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK