Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiEventSink_DeferedProcessing.cs / 5 / 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
- JoinTreeSlot.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- WindowsEditBox.cs
- CaseStatementProjectedSlot.cs
- PenContext.cs
- ApplicationGesture.cs
- ModelItem.cs
- TemplateGroupCollection.cs
- InvokePattern.cs
- PreviewPageInfo.cs
- Encoder.cs
- XmlEntity.cs
- QueryOptionExpression.cs
- FamilyMapCollection.cs
- DBSchemaTable.cs
- CLRBindingWorker.cs
- TransformConverter.cs
- IpcChannelHelper.cs
- Metadata.cs
- SerializationException.cs
- NullableLongAverageAggregationOperator.cs
- MetafileHeader.cs
- SortFieldComparer.cs
- MediaCommands.cs
- RecipientServiceModelSecurityTokenRequirement.cs
- WindowsListViewSubItem.cs
- GridViewUpdateEventArgs.cs
- WorkflowDesignerMessageFilter.cs
- ScrollBarAutomationPeer.cs
- DropTarget.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- PropertyToken.cs
- SqlDeflator.cs
- StyleXamlParser.cs
- LambdaCompiler.Address.cs
- CompiledWorkflowDefinitionContext.cs
- InfiniteIntConverter.cs
- ByteStack.cs
- PieceDirectory.cs
- IssuedSecurityTokenParameters.cs
- ToolboxService.cs
- IdentifierCollection.cs
- TabItemWrapperAutomationPeer.cs
- InvalidTimeZoneException.cs
- ClientBuildManagerCallback.cs
- ObjectItemCollectionAssemblyCacheEntry.cs
- DoubleConverter.cs
- ApplicationServiceManager.cs
- Bidi.cs
- NonSerializedAttribute.cs
- QilIterator.cs
- ValidationSummary.cs
- OperandQuery.cs
- ConfigXmlCDataSection.cs
- DataListItem.cs
- FormatException.cs
- CodePageEncoding.cs
- XmlNamedNodeMap.cs
- Normalization.cs
- CacheVirtualItemsEvent.cs
- TextTreeFixupNode.cs
- NetStream.cs
- StretchValidation.cs
- SQLInt64.cs
- RectangleConverter.cs
- TraceSection.cs
- DiscoveryEndpoint.cs
- MexHttpBindingCollectionElement.cs
- AdditionalEntityFunctions.cs
- DockPattern.cs
- SettingsSection.cs
- GrammarBuilderRuleRef.cs
- brushes.cs
- DictionaryManager.cs
- WebPartTransformer.cs
- XmlDataSourceView.cs
- DoWorkEventArgs.cs
- NotifyIcon.cs
- odbcmetadatacolumnnames.cs
- AsymmetricSignatureDeformatter.cs
- XmlTypeMapping.cs
- NativeMsmqMessage.cs
- DBConcurrencyException.cs
- SqlAliaser.cs
- FontWeightConverter.cs
- RuntimeConfig.cs
- WorkflowClientDeliverMessageWrapper.cs
- AssemblyNameProxy.cs
- FileEnumerator.cs
- Point.cs
- XmlIncludeAttribute.cs
- PolicyLevel.cs
- SchemaSetCompiler.cs
- FrameworkTemplate.cs
- SessionPageStatePersister.cs
- WebPartsPersonalizationAuthorization.cs
- GPStream.cs
- SqlGenericUtil.cs
- BypassElementCollection.cs
- ProtocolsConfigurationHandler.cs