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
- EditorPartChrome.cs
- MimeMultiPart.cs
- SystemFonts.cs
- StackBuilderSink.cs
- OpCellTreeNode.cs
- XPathParser.cs
- SecurityHelper.cs
- AdjustableArrowCap.cs
- CombinedGeometry.cs
- TabPage.cs
- MissingSatelliteAssemblyException.cs
- Stopwatch.cs
- MaxValueConverter.cs
- ConnectionProviderAttribute.cs
- ApplyImportsAction.cs
- FlowDocumentReaderAutomationPeer.cs
- ExtensionFile.cs
- TextEditorLists.cs
- basecomparevalidator.cs
- HtmlInputButton.cs
- EventLog.cs
- Int32Converter.cs
- OrderByLifter.cs
- ServiceModelEnumValidator.cs
- CompiledIdentityConstraint.cs
- HttpWriter.cs
- ResourceReferenceExpression.cs
- DoWhile.cs
- SafeProcessHandle.cs
- Internal.cs
- ArraySegment.cs
- ViewKeyConstraint.cs
- UriParserTemplates.cs
- MetadataPropertyAttribute.cs
- AssemblyNameProxy.cs
- DataGridViewHeaderCell.cs
- TableRow.cs
- RangeBaseAutomationPeer.cs
- Events.cs
- DataGridViewMethods.cs
- InputDevice.cs
- TextBoxBase.cs
- PageAdapter.cs
- QilGenerator.cs
- GridViewSelectEventArgs.cs
- SqlConnectionStringBuilder.cs
- ScrollViewerAutomationPeer.cs
- TCPClient.cs
- TableLayoutColumnStyleCollection.cs
- DataGridViewSortCompareEventArgs.cs
- NamespaceEmitter.cs
- __FastResourceComparer.cs
- ItemContainerPattern.cs
- XPathSelectionIterator.cs
- BitmapCache.cs
- TextPointer.cs
- ErrorRuntimeConfig.cs
- Storyboard.cs
- EventRecordWrittenEventArgs.cs
- TraceShell.cs
- mediaeventargs.cs
- StrokeNodeData.cs
- MembershipSection.cs
- ProxyAttribute.cs
- SynchronizedInputHelper.cs
- DataGridTablesFactory.cs
- HttpServerVarsCollection.cs
- UnsafePeerToPeerMethods.cs
- SamlAssertion.cs
- SqlTriggerContext.cs
- ViewPort3D.cs
- ModuleBuilderData.cs
- EditBehavior.cs
- JsonSerializer.cs
- SqlExpander.cs
- PolicyException.cs
- DataConnectionHelper.cs
- _BasicClient.cs
- Brush.cs
- UserControl.cs
- InputLanguageProfileNotifySink.cs
- AppSettingsReader.cs
- BooleanStorage.cs
- ExpressionCopier.cs
- ResourceIDHelper.cs
- MenuItemBinding.cs
- GridItemCollection.cs
- WmlLiteralTextAdapter.cs
- HttpCapabilitiesBase.cs
- DelegatingChannelListener.cs
- UIHelper.cs
- XPathNavigatorKeyComparer.cs
- _SecureChannel.cs
- ListViewGroupItemCollection.cs
- CodeNamespace.cs
- KerberosSecurityTokenAuthenticator.cs
- InstanceLockedException.cs
- TextServicesCompartment.cs
- SQLMembershipProvider.cs
- VirtualizingPanel.cs