Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / AdPostCacheSubstitution.cs / 2 / 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(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ //// 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(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- UnknownWrapper.cs
- XmlHierarchyData.cs
- EditableTreeList.cs
- SafeUserTokenHandle.cs
- CodeGroup.cs
- PageEventArgs.cs
- StylusPointCollection.cs
- ActivityExecutorDelegateInfo.cs
- GridPatternIdentifiers.cs
- AddInAdapter.cs
- XmlDataSource.cs
- DefaultValidator.cs
- DocumentSequence.cs
- PointLightBase.cs
- QueryCacheEntry.cs
- WindowsSolidBrush.cs
- VersionedStream.cs
- ToolStripOverflowButton.cs
- LoginNameDesigner.cs
- XmlSigningNodeWriter.cs
- BuildProviderAppliesToAttribute.cs
- HttpPostProtocolReflector.cs
- SortAction.cs
- RouteValueExpressionBuilder.cs
- FolderBrowserDialog.cs
- EastAsianLunisolarCalendar.cs
- AutomationElementIdentifiers.cs
- WindowsComboBox.cs
- ApplicationProxyInternal.cs
- QilScopedVisitor.cs
- NavigationEventArgs.cs
- control.ime.cs
- OrderedDictionary.cs
- DataKeyCollection.cs
- RoutedEvent.cs
- SerialPort.cs
- DES.cs
- AuthenticateEventArgs.cs
- DataContract.cs
- SiteMapNodeCollection.cs
- DataControlImageButton.cs
- BaseParagraph.cs
- SqlCommandBuilder.cs
- WebServiceMethodData.cs
- PageAsyncTask.cs
- UnsettableComboBox.cs
- PostBackTrigger.cs
- Image.cs
- FormViewInsertedEventArgs.cs
- AspCompat.cs
- HtmlTableRow.cs
- SafeThemeHandle.cs
- AutomationPeer.cs
- PtsHelper.cs
- CachedBitmap.cs
- EntityDataSourceQueryBuilder.cs
- DictionaryContent.cs
- ServicePoint.cs
- ControlCollection.cs
- ToolStripDesignerAvailabilityAttribute.cs
- DefaultProxySection.cs
- NotImplementedException.cs
- CollectionType.cs
- ProtocolsConfigurationHandler.cs
- SpeechRecognitionEngine.cs
- TrackBarRenderer.cs
- XmlComplianceUtil.cs
- DataGridSortCommandEventArgs.cs
- CodeCastExpression.cs
- PointHitTestParameters.cs
- MultiSelector.cs
- BrowserCapabilitiesCompiler.cs
- BigInt.cs
- PropertyIDSet.cs
- DoWhile.cs
- FormClosingEvent.cs
- OracleFactory.cs
- ParameterBuilder.cs
- SimpleWebHandlerParser.cs
- WebSysDescriptionAttribute.cs
- ObjectDataSourceStatusEventArgs.cs
- ObjectListCommand.cs
- BufferedWebEventProvider.cs
- TemplatedAdorner.cs
- SqlCacheDependency.cs
- CacheEntry.cs
- Bitmap.cs
- SqlCommand.cs
- CompilationUtil.cs
- WebPartHeaderCloseVerb.cs
- WindowsAuthenticationModule.cs
- PreProcessor.cs
- DictionaryContent.cs
- MarshalByValueComponent.cs
- ServerValidateEventArgs.cs
- ApplicationFileParser.cs
- TableRowGroup.cs
- LinkUtilities.cs
- QilName.cs
- ItemList.cs