Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiEventSink_DeferedProcessing.cs / 5 / 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
- GACMembershipCondition.cs
- EditableTreeList.cs
- sqlser.cs
- ProjectionQueryOptionExpression.cs
- SqlFileStream.cs
- MessageFilterTable.cs
- DataViewManagerListItemTypeDescriptor.cs
- XmlDataLoader.cs
- AdornerHitTestResult.cs
- NameValueCollection.cs
- ImageList.cs
- SimpleRecyclingCache.cs
- FixedTextSelectionProcessor.cs
- PerformanceCounter.cs
- UserPersonalizationStateInfo.cs
- HttpDictionary.cs
- MenuRenderer.cs
- DiscoveryServiceExtension.cs
- FixedPageStructure.cs
- SQLUtility.cs
- SerializerDescriptor.cs
- Util.cs
- COM2ComponentEditor.cs
- AssemblyBuilder.cs
- WebColorConverter.cs
- AnnotationDocumentPaginator.cs
- ProfilePropertyNameValidator.cs
- PropertyMappingExceptionEventArgs.cs
- Debug.cs
- IConvertible.cs
- UseAttributeSetsAction.cs
- ScriptControl.cs
- WebPartPersonalization.cs
- ServiceChannelManager.cs
- UniqueConstraint.cs
- ExcCanonicalXml.cs
- XmlByteStreamWriter.cs
- CapabilitiesUse.cs
- DataGridViewCellEventArgs.cs
- SplitterEvent.cs
- PropertyInformation.cs
- HtmlEncodedRawTextWriter.cs
- TextTreePropertyUndoUnit.cs
- WindowsScroll.cs
- ValueUtilsSmi.cs
- TemplateAction.cs
- XamlTypeMapper.cs
- Authorization.cs
- ViewEventArgs.cs
- MarginCollapsingState.cs
- BindingContext.cs
- _NetworkingPerfCounters.cs
- SerialPort.cs
- ChannelServices.cs
- PersonalizablePropertyEntry.cs
- TimeStampChecker.cs
- Base64Encoder.cs
- XPathNodeIterator.cs
- SqlDataAdapter.cs
- FileRegion.cs
- UndoUnit.cs
- ProxyOperationRuntime.cs
- embossbitmapeffect.cs
- XPathMultyIterator.cs
- _KerberosClient.cs
- ImageCollectionCodeDomSerializer.cs
- WindowPattern.cs
- HtmlHead.cs
- SqlConnectionString.cs
- SettingsSavedEventArgs.cs
- InputReport.cs
- WebPartZoneBaseDesigner.cs
- ParserOptions.cs
- Publisher.cs
- IssuerInformation.cs
- AnyReturnReader.cs
- TextElement.cs
- Triplet.cs
- WorkflowQueue.cs
- Expressions.cs
- BitmapEffectDrawingContent.cs
- MultiTrigger.cs
- DbDeleteCommandTree.cs
- CheckBoxList.cs
- XmlCodeExporter.cs
- WindowsListViewSubItem.cs
- BufferedGraphicsContext.cs
- Hashtable.cs
- AssemblyAttributesGoHere.cs
- TypeBuilderInstantiation.cs
- APCustomTypeDescriptor.cs
- BindableAttribute.cs
- SqlCacheDependencyDatabase.cs
- ReverseQueryOperator.cs
- NeutralResourcesLanguageAttribute.cs
- ButtonChrome.cs
- HttpModuleAction.cs
- PathFigureCollectionConverter.cs
- ViewCellRelation.cs
- WebReferencesBuildProvider.cs