Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiEventSink_DeferedProcessing.cs / 1305376 / 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
- PersonalizationAdministration.cs
- SocketElement.cs
- WindowsRichEditRange.cs
- ModelServiceImpl.cs
- WindowsUpDown.cs
- HostExecutionContextManager.cs
- AccessDataSourceView.cs
- Style.cs
- XmlQuerySequence.cs
- UIPropertyMetadata.cs
- Drawing.cs
- TypeConverterMarkupExtension.cs
- CommonDialog.cs
- IsolatedStoragePermission.cs
- XslCompiledTransform.cs
- DataBoundControlAdapter.cs
- EnumerableValidator.cs
- EntityParameter.cs
- InstanceBehavior.cs
- CalendarDay.cs
- UIInitializationException.cs
- BackStopAuthenticationModule.cs
- DesignDataSource.cs
- XPathMultyIterator.cs
- ContentType.cs
- DynamicResourceExtension.cs
- QueryCursorEventArgs.cs
- UIElementParagraph.cs
- ComponentDispatcher.cs
- MessagePartDescription.cs
- mediaeventshelper.cs
- EntityReference.cs
- prefixendpointaddressmessagefiltertable.cs
- PointLightBase.cs
- HyperLinkStyle.cs
- CompositeActivityMarkupSerializer.cs
- DataBindingHandlerAttribute.cs
- OleDbPermission.cs
- ADConnectionHelper.cs
- XPathDocumentIterator.cs
- FunctionDescription.cs
- Rotation3D.cs
- StringUtil.cs
- Converter.cs
- SQLRoleProvider.cs
- OSEnvironmentHelper.cs
- SortKey.cs
- Matrix.cs
- SeekStoryboard.cs
- WindowsFormsSynchronizationContext.cs
- SecurityTokenException.cs
- TypeLibConverter.cs
- MetabaseServerConfig.cs
- storepermissionattribute.cs
- Faults.cs
- LinqTreeNodeEvaluator.cs
- PeerInvitationResponse.cs
- CryptoStream.cs
- SqlIdentifier.cs
- TokenFactoryFactory.cs
- PromptEventArgs.cs
- Input.cs
- URLString.cs
- AsyncStreamReader.cs
- DataService.cs
- Transform3DCollection.cs
- Int32AnimationUsingKeyFrames.cs
- CreateParams.cs
- DbProviderConfigurationHandler.cs
- TextWriterTraceListener.cs
- UriTemplatePathPartiallyEquivalentSet.cs
- TemplateBamlTreeBuilder.cs
- UpdateTracker.cs
- ExtensionWindow.cs
- WmlLinkAdapter.cs
- Aggregates.cs
- ModelTypeConverter.cs
- DesignerActionVerbList.cs
- SafeLibraryHandle.cs
- XamlTreeBuilder.cs
- AbsoluteQuery.cs
- ContainerFilterService.cs
- IncrementalReadDecoders.cs
- LogEntrySerialization.cs
- followingsibling.cs
- ModelUIElement3D.cs
- WaitHandleCannotBeOpenedException.cs
- SignatureToken.cs
- Schema.cs
- ProtocolsConfigurationHandler.cs
- AutomationIdentifier.cs
- ObjectDataSourceSelectingEventArgs.cs
- EventLogInformation.cs
- Filter.cs
- COM2FontConverter.cs
- ConfigurationManagerHelperFactory.cs
- DbProviderFactoriesConfigurationHandler.cs
- sqlnorm.cs
- ObjectDataSource.cs
- DynamicExpression.cs