Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / 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
- XamlSerializationHelper.cs
- DynamicPropertyHolder.cs
- StylusPointPropertyInfoDefaults.cs
- AppDomainAttributes.cs
- SingleStorage.cs
- DrawToolTipEventArgs.cs
- RSAPKCS1KeyExchangeFormatter.cs
- DrawItemEvent.cs
- ExpressionBinding.cs
- MetadataUtil.cs
- StringResourceManager.cs
- HtmlFormWrapper.cs
- TextSelectionProcessor.cs
- XmlUrlEditor.cs
- TableAutomationPeer.cs
- ColorComboBox.cs
- ChangePassword.cs
- TemplateNameScope.cs
- UnsafeNativeMethods.cs
- MailMessageEventArgs.cs
- OleDbConnectionInternal.cs
- FtpCachePolicyElement.cs
- BackgroundWorker.cs
- FakeModelPropertyImpl.cs
- ExtensionFile.cs
- InvalidProgramException.cs
- BaseTypeViewSchema.cs
- FirstMatchCodeGroup.cs
- DocumentApplicationJournalEntry.cs
- Instrumentation.cs
- Compilation.cs
- MonthChangedEventArgs.cs
- CatalogZone.cs
- GetWinFXPath.cs
- XmlSchemaAll.cs
- SessionPageStateSection.cs
- InsufficientMemoryException.cs
- XmlNullResolver.cs
- DrawToolTipEventArgs.cs
- CustomAssemblyResolver.cs
- TableLayoutPanelCellPosition.cs
- GridViewCancelEditEventArgs.cs
- SoapObjectInfo.cs
- HttpCookiesSection.cs
- AdRotator.cs
- TextMetrics.cs
- Utils.cs
- WrapPanel.cs
- ButtonBaseAdapter.cs
- ProjectedWrapper.cs
- IndentedWriter.cs
- SrgsElementFactory.cs
- SqlDataSourceQueryEditor.cs
- XmlValueConverter.cs
- LocalsItemDescription.cs
- CellIdBoolean.cs
- PassportAuthenticationModule.cs
- WinFormsSpinner.cs
- SystemIcmpV4Statistics.cs
- CommunicationObjectAbortedException.cs
- ToolStripDropDown.cs
- SoapExtensionTypeElement.cs
- _UriSyntax.cs
- ResourceReferenceKeyNotFoundException.cs
- ImageEditor.cs
- GridView.cs
- ProxyManager.cs
- UpdatePanel.cs
- SoapElementAttribute.cs
- BitmapInitialize.cs
- Type.cs
- MruCache.cs
- Debug.cs
- ButtonColumn.cs
- VersionValidator.cs
- SQLInt16Storage.cs
- RoleServiceManager.cs
- Logging.cs
- Int16AnimationUsingKeyFrames.cs
- TransformerInfo.cs
- WmlValidatorAdapter.cs
- ProvidersHelper.cs
- AliasedSlot.cs
- bindurihelper.cs
- SiteMapDataSourceView.cs
- XmlNode.cs
- LoadRetryHandler.cs
- StorageInfo.cs
- DecimalFormatter.cs
- InputReferenceExpression.cs
- ConsumerConnectionPoint.cs
- WebPartZone.cs
- SqlCacheDependencySection.cs
- templategroup.cs
- MenuBindingsEditorForm.cs
- SubordinateTransaction.cs
- SmiContext.cs
- BaseAddressPrefixFilterElementCollection.cs
- ArgumentValue.cs
- TrailingSpaceComparer.cs