SubstitutionResponseElement.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / Cache / SubstitutionResponseElement.cs / 1305376 / SubstitutionResponseElement.cs

                            using System; 
using System.Runtime.Serialization;
using System.Security.Permissions;
using System.Web;
using System.Web.Caching; 
using System.Web.Compilation;
 
namespace System.Web.Caching { 
    [Serializable]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Unrestricted)] 
    public class SubstitutionResponseElement: ResponseElement {
        [NonSerialized]
        private  HttpResponseSubstitutionCallback _callback;
        private  string                           _targetTypeName; 
        private  string                           _methodName;
 
        public   HttpResponseSubstitutionCallback Callback   { get { return _callback; } } 

        private SubstitutionResponseElement() { } // hide default constructor 

        public SubstitutionResponseElement(HttpResponseSubstitutionCallback callback) {
            if (callback == null)
                throw new ArgumentNullException("callback"); 

            _callback = callback; 
        } 

        [OnSerializing()] 
        private void OnSerializingMethod(StreamingContext context) {
            // create a string representation of the callback
            _targetTypeName = System.Web.UI.Util.GetAssemblyQualifiedTypeName(_callback.Method.ReflectedType);
            _methodName = _callback.Method.Name; 
        }
 
        [OnDeserialized()] 
        private void OnDeserializedMethod(StreamingContext context) {
            // re-create each ValidationCallbackInfo from its string representation 
            Type target = BuildManager.GetType(_targetTypeName, true /*throwOnFail*/, false /*ignoreCase*/);
            _callback = (HttpResponseSubstitutionCallback) Delegate.CreateDelegate(typeof(HttpResponseSubstitutionCallback), target, _methodName);
        }
    } 
}

// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System; 
using System.Runtime.Serialization;
using System.Security.Permissions;
using System.Web;
using System.Web.Caching; 
using System.Web.Compilation;
 
namespace System.Web.Caching { 
    [Serializable]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Unrestricted)] 
    public class SubstitutionResponseElement: ResponseElement {
        [NonSerialized]
        private  HttpResponseSubstitutionCallback _callback;
        private  string                           _targetTypeName; 
        private  string                           _methodName;
 
        public   HttpResponseSubstitutionCallback Callback   { get { return _callback; } } 

        private SubstitutionResponseElement() { } // hide default constructor 

        public SubstitutionResponseElement(HttpResponseSubstitutionCallback callback) {
            if (callback == null)
                throw new ArgumentNullException("callback"); 

            _callback = callback; 
        } 

        [OnSerializing()] 
        private void OnSerializingMethod(StreamingContext context) {
            // create a string representation of the callback
            _targetTypeName = System.Web.UI.Util.GetAssemblyQualifiedTypeName(_callback.Method.ReflectedType);
            _methodName = _callback.Method.Name; 
        }
 
        [OnDeserialized()] 
        private void OnDeserializedMethod(StreamingContext context) {
            // re-create each ValidationCallbackInfo from its string representation 
            Type target = BuildManager.GetType(_targetTypeName, true /*throwOnFail*/, false /*ignoreCase*/);
            _callback = (HttpResponseSubstitutionCallback) Delegate.CreateDelegate(typeof(HttpResponseSubstitutionCallback), target, _methodName);
        }
    } 
}

// 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