You've already forked linux-packaging-mono
							
							
		
			
				
	
	
		
			56 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| //------------------------------------------------------------------------------
 | |
| // <copyright file="AdPostCacheSubstitution.cs" company="Microsoft">
 | |
| //     Copyright (c) Microsoft Corporation.  All rights reserved.
 | |
| // </copyright>
 | |
| //------------------------------------------------------------------------------
 | |
| 
 | |
| /*
 | |
|  * 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();
 | |
|         }
 | |
|     }
 | |
| }
 |