Code:
/ DotNET / DotNET / 8.0 / untmp / whidbey / REDBITS / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiEventSink_DeferedProcessing.cs / 2 / SmiEventSink_DeferedProcessing.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
// [....]
// [....]
//-----------------------------------------------------------------------------
namespace Microsoft.SqlServer.Server {
using System.Data.Sql;
using System.Data.SqlClient;
using System.Diagnostics;
// This class exists purely to defer processing of messages until a later time.
// It is designed to allow calling common code that interacts with the SMI layers
// without throwing or otherwise processing messages in the sink until later on.
//
// Main example:
// SqlCommand.ExecuteNonQuerySmi calls EventStream.ProcessEvent with it's command event sink (CES)
// ProcessEvent calls OnParametersAvailable on the CES
// OnParametersAvailable sets up a deferedprocessing event sink (DPES) with the CES as its parent
// OnParametersAvailable calls ValueUtils to extract param values passing the DPES
// ValueUtils calls Smi passing DPES
// Smi may call MessagePosted, which will send a message up the sink parent chain and save it.
// ValueUtils calls ProcessMessagesAndThrow on DPES, which skips handling
// ... return up the stack ...
// SqlCommand.ExecuteNonQuerySmi calls CES.ProcessMessagesAndThrow, which handles the messages
// sent from the Smi value extraction code.
//
// IMPORTANT: Code that uses the DeferedProccess event sink is responsible for ensuring that
// these messages ARE processed at some point.
internal class SmiEventSink_DeferedProcessing : SmiEventSink_Default {
internal SmiEventSink_DeferedProcessing ( SmiEventSink parent ) : base(parent) {
}
protected override void DispatchMessages(bool ignoreNonFatalMessages) {
// Skip processing messages. Since messages are sent to parent and calling code will call
// ProcessMessages against parent, messages ARE NOT LOST!
}
}
}
// 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
- WebOperationContext.cs
- BamlTreeMap.cs
- PlainXmlDeserializer.cs
- mediaeventshelper.cs
- SoapIgnoreAttribute.cs
- ExclusiveNamedPipeTransportManager.cs
- FieldDescriptor.cs
- ReflectPropertyDescriptor.cs
- ChameleonKey.cs
- SqlException.cs
- ForwardPositionQuery.cs
- ExpressionBuilderCollection.cs
- XPathExpr.cs
- WebPartDisplayMode.cs
- DataSourceExpressionCollection.cs
- Rotation3D.cs
- ValueSerializer.cs
- SqlCommandBuilder.cs
- BuildResultCache.cs
- FontEditor.cs
- odbcmetadatacollectionnames.cs
- IntSecurity.cs
- WebEventTraceProvider.cs
- RegexParser.cs
- TextDocumentView.cs
- RuntimeHelpers.cs
- NamedPipeChannelFactory.cs
- NamespaceCollection.cs
- ReflectTypeDescriptionProvider.cs
- Array.cs
- TextRunCache.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- HelpInfo.cs
- UnsafeNativeMethods.cs
- XmlSchemaImporter.cs
- Stacktrace.cs
- WorkflowServiceBehavior.cs
- CodeDirectoryCompiler.cs
- XPathMessageContext.cs
- ClientRuntimeConfig.cs
- WebPartsPersonalizationAuthorization.cs
- ProxyAttribute.cs
- EntityContainerEmitter.cs
- SerialPinChanges.cs
- DataServiceContext.cs
- Label.cs
- MissingMemberException.cs
- ConditionBrowserDialog.cs
- AddingNewEventArgs.cs
- MetabaseSettings.cs
- XmlStreamedByteStreamReader.cs
- HandlerMappingMemo.cs
- GroupQuery.cs
- SettingsBindableAttribute.cs
- MethodAccessException.cs
- KeyValueConfigurationElement.cs
- SortAction.cs
- ClientSettingsSection.cs
- CriticalFinalizerObject.cs
- XmlDataContract.cs
- WebPartExportVerb.cs
- ValueProviderWrapper.cs
- RectangleF.cs
- XmlDictionary.cs
- ExceptionHandlerDesigner.cs
- DateTimeFormatInfo.cs
- Scripts.cs
- VScrollBar.cs
- LateBoundBitmapDecoder.cs
- RijndaelManaged.cs
- Control.cs
- EntityDesignerDataSourceView.cs
- GAC.cs
- RefreshEventArgs.cs
- FrameworkContentElementAutomationPeer.cs
- Win32SafeHandles.cs
- PreApplicationStartMethodAttribute.cs
- ConfigPathUtility.cs
- TextRunProperties.cs
- BaseAsyncResult.cs
- FastPropertyAccessor.cs
- SharedUtils.cs
- CharacterBufferReference.cs
- BevelBitmapEffect.cs
- VectorCollectionValueSerializer.cs
- ExchangeUtilities.cs
- ColorKeyFrameCollection.cs
- BaseCAMarshaler.cs
- HttpModule.cs
- IssuedTokenServiceCredential.cs
- TransactionFlowElement.cs
- SpellerHighlightLayer.cs
- DataGridrowEditEndingEventArgs.cs
- RequestContext.cs
- ProtocolsConfiguration.cs
- X500Name.cs
- DesignerActionUIService.cs
- NotFiniteNumberException.cs
- RangeBaseAutomationPeer.cs
- UnsafeNativeMethods.cs