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
- OpCodes.cs
- odbcmetadatacolumnnames.cs
- APCustomTypeDescriptor.cs
- Internal.cs
- WebPartDisplayModeCancelEventArgs.cs
- __Filters.cs
- DataGridViewRowsRemovedEventArgs.cs
- BindingValueChangedEventArgs.cs
- ListSourceHelper.cs
- WebPartUserCapability.cs
- WinInet.cs
- WebResourceUtil.cs
- PageAsyncTaskManager.cs
- CodeDOMUtility.cs
- UInt32Storage.cs
- ProxyElement.cs
- Highlights.cs
- OleDbPropertySetGuid.cs
- CompiledScopeCriteria.cs
- TableLayoutStyleCollection.cs
- Attributes.cs
- MediaElement.cs
- CorrelationQueryBehavior.cs
- CacheRequest.cs
- RegexStringValidator.cs
- CompositionTarget.cs
- latinshape.cs
- PropVariant.cs
- __FastResourceComparer.cs
- WmlListAdapter.cs
- OciHandle.cs
- MessageSecurityException.cs
- PauseStoryboard.cs
- Debug.cs
- MostlySingletonList.cs
- _NestedMultipleAsyncResult.cs
- DesignOnlyAttribute.cs
- EndpointAddressAugust2004.cs
- MSHTMLHost.cs
- SelectionPattern.cs
- RelationshipManager.cs
- GlyphShapingProperties.cs
- HtmlToClrEventProxy.cs
- Gdiplus.cs
- VSDExceptions.cs
- Soap.cs
- ActivityExecutorDelegateInfo.cs
- _RequestLifetimeSetter.cs
- TypeUsageBuilder.cs
- PrintPreviewDialog.cs
- HtmlTableRowCollection.cs
- ISAPIRuntime.cs
- StartUpEventArgs.cs
- TextViewSelectionProcessor.cs
- SurrogateEncoder.cs
- LinqDataSourceStatusEventArgs.cs
- PriorityBinding.cs
- CompiledAction.cs
- ParameterElement.cs
- TextRangeSerialization.cs
- ExcludePathInfo.cs
- PresentationTraceSources.cs
- AddInControllerImpl.cs
- ETagAttribute.cs
- Rotation3D.cs
- Vector3DAnimationUsingKeyFrames.cs
- SafeNativeMethods.cs
- ValidationPropertyAttribute.cs
- ImmutableObjectAttribute.cs
- XPathParser.cs
- ViewStateChangedEventArgs.cs
- StrokeNodeEnumerator.cs
- ItemDragEvent.cs
- RawStylusActions.cs
- DiscoveryOperationContextExtension.cs
- _Semaphore.cs
- DataControlFieldCell.cs
- MachineKeySection.cs
- StringSource.cs
- UniqueIdentifierService.cs
- BindingCompleteEventArgs.cs
- Int32AnimationUsingKeyFrames.cs
- CallbackException.cs
- ProjectionCamera.cs
- TypeForwardedFromAttribute.cs
- RSAOAEPKeyExchangeDeformatter.cs
- SizeAnimationClockResource.cs
- StreamSecurityUpgradeAcceptor.cs
- ComboBox.cs
- ExpandCollapseProviderWrapper.cs
- ToolStripItemDataObject.cs
- SoapExtensionTypeElementCollection.cs
- TerminateSequenceResponse.cs
- ConnectionStringsExpressionBuilder.cs
- ScriptingWebServicesSectionGroup.cs
- EnumType.cs
- SystemColors.cs
- HighContrastHelper.cs
- HwndHostAutomationPeer.cs
- XslAst.cs