AdPostCacheSubstitution.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / AdPostCacheSubstitution.cs / 1 / AdPostCacheSubstitution.cs

                            //------------------------------------------------------------------------------ 
// 
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// 
//----------------------------------------------------------------------------- 

/* 
 * The class is used internally to handle post-cache substitution mechanism in 
 * AdRotator.
 * 
 * Copyright (c) 2002 Microsoft Corporation
 */
namespace System.Web.UI.WebControls {
    using System.Globalization; 
    using System.IO;
    using System.Web.Util; 
 
    internal class AdPostCacheSubstitution {
        private AdRotator _adRotatorHelper; 

        private AdPostCacheSubstitution() {}

        internal AdPostCacheSubstitution(AdRotator adRotator) { 
            _adRotatorHelper = new AdRotator();
            _adRotatorHelper.CopyFrom(adRotator); 
            _adRotatorHelper.IsPostCacheAdHelper = true; 
            _adRotatorHelper.Page = new Page();
        } 

        internal void RegisterPostCacheCallBack(HttpContext context,
                                                Page page,
                                                HtmlTextWriter writer) { 
            // Assumption: called from AdRotator's Render phase
 
            HttpResponseSubstitutionCallback callback = new HttpResponseSubstitutionCallback(Render); 
            context.Response.WriteSubstitution(callback);
        } 

        internal string Render(HttpContext context) {
            //
 

            Debug.Assert(_adRotatorHelper != null && _adRotatorHelper.Page != null); 
 
            // In PostCache Substitution, we use a string writer to return the markup.
            StringWriter stringWriter = new StringWriter(CultureInfo.CurrentCulture); 
            HtmlTextWriter htmlWriter = _adRotatorHelper.Page.CreateHtmlTextWriter(stringWriter);
            Debug.Assert(htmlWriter != null);
            _adRotatorHelper.RenderControl(htmlWriter);
 
            // Dump the content out as needed for post-cache substitution.
            return stringWriter.ToString(); 
        } 
    }
} 


                        

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