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
- WebSysDefaultValueAttribute.cs
- ContextMenuStripGroup.cs
- ColumnWidthChangedEvent.cs
- XmlSchemaComplexContent.cs
- DataKeyArray.cs
- _KerberosClient.cs
- EventListener.cs
- CharKeyFrameCollection.cs
- SqlProcedureAttribute.cs
- CustomErrorsSectionWrapper.cs
- PathFigure.cs
- RawMouseInputReport.cs
- TextContainerChangedEventArgs.cs
- UmAlQuraCalendar.cs
- XDRSchema.cs
- FormViewCommandEventArgs.cs
- XmlHierarchicalDataSourceView.cs
- CharacterString.cs
- IxmlLineInfo.cs
- SchemaMapping.cs
- CapiHashAlgorithm.cs
- ColumnCollection.cs
- CharEnumerator.cs
- SmtpReplyReaderFactory.cs
- TraceListeners.cs
- WindowsUpDown.cs
- TypedElement.cs
- IPPacketInformation.cs
- MediaPlayerState.cs
- PingOptions.cs
- ValidationHelper.cs
- System.Data_BID.cs
- PreviewPageInfo.cs
- PrimarySelectionAdorner.cs
- Quad.cs
- DocumentPageHost.cs
- TypeInfo.cs
- DropTarget.cs
- TextElementEditingBehaviorAttribute.cs
- ListViewItem.cs
- PrintControllerWithStatusDialog.cs
- Mapping.cs
- RectKeyFrameCollection.cs
- ExpandSegment.cs
- TextParaLineResult.cs
- XPathBinder.cs
- SessionEndedEventArgs.cs
- XmlArrayItemAttributes.cs
- MexHttpsBindingCollectionElement.cs
- WebRequestModuleElement.cs
- GlyphElement.cs
- XPathDocumentNavigator.cs
- ChannelEndpointElementCollection.cs
- DataBindingExpressionBuilder.cs
- SHA512.cs
- SafeViewOfFileHandle.cs
- ByteStream.cs
- StylusShape.cs
- SetterBaseCollection.cs
- WindowAutomationPeer.cs
- XsdCachingReader.cs
- WebPartConnectVerb.cs
- SerialReceived.cs
- MenuStrip.cs
- WindowsScrollBarBits.cs
- ApplicationSettingsBase.cs
- Common.cs
- DataSourceView.cs
- TdsEnums.cs
- DbReferenceCollection.cs
- GatewayDefinition.cs
- RedistVersionInfo.cs
- SSmlParser.cs
- UnsafeNativeMethods.cs
- DesignerOptionService.cs
- CompilerError.cs
- HuffCodec.cs
- SupportsPreviewControlAttribute.cs
- DataGridViewLinkColumn.cs
- IResourceProvider.cs
- WebPartMinimizeVerb.cs
- GroupPartitionExpr.cs
- METAHEADER.cs
- WebControlAdapter.cs
- ConnectorEditor.cs
- QilFactory.cs
- TypeForwardedToAttribute.cs
- SchemaImporterExtensionsSection.cs
- EdmRelationshipRoleAttribute.cs
- PerformanceCounterManager.cs
- HtmlMeta.cs
- MenuAutoFormat.cs
- Encoding.cs
- AccessorTable.cs
- GradientBrush.cs
- AutomationProperties.cs
- Dictionary.cs
- Activator.cs
- DBCommand.cs
- SmiRecordBuffer.cs