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
- XpsPackagingPolicy.cs
- ImageAttributes.cs
- PropertyStore.cs
- TextBoxBase.cs
- FontConverter.cs
- SQLBytes.cs
- TagMapInfo.cs
- GradientBrush.cs
- SpinLock.cs
- RestHandler.cs
- HitTestResult.cs
- DurableOperationAttribute.cs
- ContainerParagraph.cs
- XslTransform.cs
- TypeHelper.cs
- SqlVersion.cs
- PackUriHelper.cs
- SQLRoleProvider.cs
- Compensation.cs
- XmlEventCache.cs
- CapabilitiesState.cs
- RTLAwareMessageBox.cs
- DataGridTextBox.cs
- GraphicsPathIterator.cs
- BoolLiteral.cs
- FileDialog.cs
- ItemAutomationPeer.cs
- RegexCaptureCollection.cs
- XmlSchemaProviderAttribute.cs
- TextComposition.cs
- FileVersionInfo.cs
- HashHelper.cs
- WebPartActionVerb.cs
- XmlCDATASection.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- Wizard.cs
- Effect.cs
- SqlEnums.cs
- HtmlFormWrapper.cs
- Guid.cs
- RouteItem.cs
- DesignerLoader.cs
- formatter.cs
- DbgUtil.cs
- BookmarkScopeHandle.cs
- CustomAttribute.cs
- RootDesignerSerializerAttribute.cs
- DbXmlEnabledProviderManifest.cs
- ThemeInfoAttribute.cs
- CursorConverter.cs
- ProcessInfo.cs
- EntityParameter.cs
- AncillaryOps.cs
- StateItem.cs
- QilSortKey.cs
- DiscoveryClientBindingElement.cs
- OperationAbortedException.cs
- DtrList.cs
- AsyncStreamReader.cs
- UnsafeNativeMethodsPenimc.cs
- SequenceFullException.cs
- AnimationLayer.cs
- CommandLibraryHelper.cs
- SizeValueSerializer.cs
- MessageHeaderT.cs
- BaseTemplateCodeDomTreeGenerator.cs
- RouteCollection.cs
- NameTable.cs
- NumberFormatter.cs
- EntitySqlQueryBuilder.cs
- LinkTarget.cs
- NotifyCollectionChangedEventArgs.cs
- ExtenderHelpers.cs
- SqlPersistenceProviderFactory.cs
- IListConverters.cs
- WebPartConnectionsConfigureVerb.cs
- XmlSchemaChoice.cs
- InputMethod.cs
- ArrayHelper.cs
- WindowsIdentity.cs
- Wildcard.cs
- RelationshipWrapper.cs
- HierarchicalDataBoundControlAdapter.cs
- shaperfactoryquerycachekey.cs
- MediaScriptCommandRoutedEventArgs.cs
- AccessedThroughPropertyAttribute.cs
- IPipelineRuntime.cs
- GetLedgerRequest.cs
- GradientStop.cs
- Point3D.cs
- CodeObjectCreateExpression.cs
- COM2ColorConverter.cs
- BitmapEffectrendercontext.cs
- ExpressionTextBoxAutomationPeer.cs
- GridViewPageEventArgs.cs
- AssociationTypeEmitter.cs
- SingleStorage.cs
- KeyValueConfigurationCollection.cs
- MarshalByRefObject.cs
- MatchingStyle.cs