Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiEventSink_DeferedProcessing.cs / 1 / 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.
//
// [....]
// [....]
//-----------------------------------------------------------------------------
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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- LifetimeManager.cs
- LinqToSqlWrapper.cs
- SiteMapNode.cs
- Utility.cs
- ModelTypeConverter.cs
- MatchingStyle.cs
- ContainerVisual.cs
- ProcessMessagesAsyncResult.cs
- SqlDataSourceFilteringEventArgs.cs
- FullTextLine.cs
- InputReport.cs
- MetadataArtifactLoaderComposite.cs
- NumberFunctions.cs
- PageAsyncTaskManager.cs
- KeyToListMap.cs
- ZipIOBlockManager.cs
- EmptyControlCollection.cs
- MarkupExtensionReturnTypeAttribute.cs
- QuaternionConverter.cs
- StringUtil.cs
- COM2IDispatchConverter.cs
- DbConnectionPoolCounters.cs
- DictationGrammar.cs
- _RequestLifetimeSetter.cs
- Image.cs
- ClrPerspective.cs
- QueryStringParameter.cs
- WmlListAdapter.cs
- ProfileParameter.cs
- Certificate.cs
- IfJoinedCondition.cs
- DescendantBaseQuery.cs
- ZipIOCentralDirectoryBlock.cs
- DataColumnMapping.cs
- WebScriptServiceHost.cs
- DataGridViewCellValidatingEventArgs.cs
- SchemaNotation.cs
- SchemaImporterExtensionElementCollection.cs
- XmlFormatReaderGenerator.cs
- _OSSOCK.cs
- LocalBuilder.cs
- EncoderNLS.cs
- PersistenceTask.cs
- HtmlInputButton.cs
- ConfigurationValidatorAttribute.cs
- TextServicesCompartment.cs
- SecurityTokenRequirement.cs
- FixedSOMTable.cs
- FixUpCollection.cs
- TokenBasedSet.cs
- DesignerVerb.cs
- CodeDomDecompiler.cs
- TreeNodeStyleCollection.cs
- XamlRtfConverter.cs
- FormViewDeleteEventArgs.cs
- ApplicationContext.cs
- ValidatorCompatibilityHelper.cs
- XmlAtomicValue.cs
- ToolStrip.cs
- OleDbError.cs
- SqlTransaction.cs
- Atom10FormatterFactory.cs
- AttributeConverter.cs
- SchemaManager.cs
- MeasurementDCInfo.cs
- MsmqIntegrationProcessProtocolHandler.cs
- DataSourceHelper.cs
- NetNamedPipeBinding.cs
- PrintDialogDesigner.cs
- PointCollection.cs
- SaveWorkflowAsyncResult.cs
- ColorConvertedBitmap.cs
- HttpGetProtocolReflector.cs
- Stream.cs
- GenerateTemporaryTargetAssembly.cs
- ImageInfo.cs
- InlineUIContainer.cs
- PropertyCondition.cs
- InstanceKeyCompleteException.cs
- OpenTypeMethods.cs
- SettingsPropertyIsReadOnlyException.cs
- ArrayMergeHelper.cs
- XmlnsDefinitionAttribute.cs
- AlphabeticalEnumConverter.cs
- OperationResponse.cs
- WindowClosedEventArgs.cs
- BrowserInteropHelper.cs
- DataGrid.cs
- InvalidOleVariantTypeException.cs
- ConstraintConverter.cs
- GenerateHelper.cs
- Perspective.cs
- ToolStripContainerDesigner.cs
- Error.cs
- FtpRequestCacheValidator.cs
- ParameterBinding.cs
- documentation.cs
- IDReferencePropertyAttribute.cs
- XmlMapping.cs
- ProofTokenCryptoHandle.cs