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
- TargetControlTypeAttribute.cs
- PlacementWorkspace.cs
- ApplicationBuildProvider.cs
- ClientApiGenerator.cs
- ExpressionBuilder.cs
- TailCallAnalyzer.cs
- InternalsVisibleToAttribute.cs
- BitmapImage.cs
- OleDbFactory.cs
- XmlSchemaGroupRef.cs
- SurrogateEncoder.cs
- TextEditorThreadLocalStore.cs
- TiffBitmapEncoder.cs
- PackagePartCollection.cs
- PackagePart.cs
- OdbcConnection.cs
- ScalarOps.cs
- VisualStyleTypesAndProperties.cs
- XmlAttributeProperties.cs
- Overlapped.cs
- TableParagraph.cs
- SqlFactory.cs
- WebReferenceCollection.cs
- CodeDelegateInvokeExpression.cs
- UrlPath.cs
- TextSimpleMarkerProperties.cs
- CompModSwitches.cs
- sqlcontext.cs
- ProxyManager.cs
- QuaternionConverter.cs
- DocumentReferenceCollection.cs
- SynchronizingStream.cs
- HtmlInputFile.cs
- ECDsaCng.cs
- AssociationTypeEmitter.cs
- Resources.Designer.cs
- TiffBitmapEncoder.cs
- DependencySource.cs
- RegexStringValidator.cs
- unitconverter.cs
- CultureData.cs
- SiteOfOriginContainer.cs
- ExpressionsCollectionConverter.cs
- SqlSupersetValidator.cs
- Int64KeyFrameCollection.cs
- GeneralTransform3DCollection.cs
- DCSafeHandle.cs
- TreeNodeConverter.cs
- Tool.cs
- ColorMatrix.cs
- XmlSchemaDocumentation.cs
- SmiTypedGetterSetter.cs
- ExpressionVisitorHelpers.cs
- Int32RectConverter.cs
- StylusButtonCollection.cs
- PolyBezierSegment.cs
- MatrixIndependentAnimationStorage.cs
- CodeObjectCreateExpression.cs
- Utils.cs
- ToolZoneDesigner.cs
- ValueType.cs
- BaseCodeDomTreeGenerator.cs
- StylusPlugInCollection.cs
- Parallel.cs
- HttpProcessUtility.cs
- NameNode.cs
- MergablePropertyAttribute.cs
- LinqDataSourceEditData.cs
- util.cs
- SqlCacheDependencyDatabaseCollection.cs
- FixedPosition.cs
- BaseInfoTable.cs
- RawKeyboardInputReport.cs
- wmiprovider.cs
- EmptyElement.cs
- ImageSource.cs
- DbCommandTree.cs
- xmlsaver.cs
- ShapeTypeface.cs
- HandleExceptionArgs.cs
- HtmlWindow.cs
- ToolStripGrip.cs
- FixedElement.cs
- MDIWindowDialog.cs
- DPTypeDescriptorContext.cs
- ExceptionUtil.cs
- KerberosSecurityTokenProvider.cs
- XmlSchemaAll.cs
- StylusOverProperty.cs
- SerializerWriterEventHandlers.cs
- XmlSignatureProperties.cs
- ProxyElement.cs
- GeneralTransform2DTo3DTo2D.cs
- RectAnimationClockResource.cs
- NavigationPropertySingletonExpression.cs
- CompiledRegexRunnerFactory.cs
- Vector3DKeyFrameCollection.cs
- XPathPatternParser.cs
- RijndaelCryptoServiceProvider.cs
- DbConnectionHelper.cs