Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiEventSink_DeferedProcessing.cs / 1305376 / 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
- WebPartVerbCollection.cs
- WebPartTransformer.cs
- BoundsDrawingContextWalker.cs
- Registry.cs
- ISO2022Encoding.cs
- RegexCharClass.cs
- IPipelineRuntime.cs
- EncryptedKey.cs
- TerminatorSinks.cs
- SkewTransform.cs
- CheckableControlBaseAdapter.cs
- DataGridViewButtonColumn.cs
- EventManager.cs
- Or.cs
- Thumb.cs
- VariableAction.cs
- dataobject.cs
- SafeFindHandle.cs
- FatalException.cs
- MissingSatelliteAssemblyException.cs
- SafeArrayTypeMismatchException.cs
- StrokeCollection.cs
- ErrorRuntimeConfig.cs
- KnownBoxes.cs
- KeyFrames.cs
- CompModSwitches.cs
- ClrProviderManifest.cs
- ErrorFormatterPage.cs
- IPPacketInformation.cs
- TextEvent.cs
- ConstructorExpr.cs
- PersonalizationProviderCollection.cs
- ZipPackagePart.cs
- ConsoleCancelEventArgs.cs
- TemplateControlParser.cs
- DataBindingCollection.cs
- Vector3DAnimation.cs
- StringConcat.cs
- WebServiceClientProxyGenerator.cs
- QueryRewriter.cs
- IIS7WorkerRequest.cs
- ConnectionConsumerAttribute.cs
- FactoryGenerator.cs
- DataGridViewLinkColumn.cs
- baseshape.cs
- DbProviderServices.cs
- CollectionViewGroupInternal.cs
- IgnoreFileBuildProvider.cs
- HostingEnvironmentException.cs
- XmlSchemaProviderAttribute.cs
- WebHttpEndpoint.cs
- COM2ExtendedUITypeEditor.cs
- HTMLTagNameToTypeMapper.cs
- DocumentPage.cs
- WebPartConnectionCollection.cs
- PrintPreviewDialog.cs
- IssuedSecurityTokenProvider.cs
- Quaternion.cs
- XmlWhitespace.cs
- Matrix3DValueSerializer.cs
- Constraint.cs
- DataServiceBehavior.cs
- EditorPartChrome.cs
- HttpTransportSecurity.cs
- EnvelopedPkcs7.cs
- Internal.cs
- ToolStripSplitButton.cs
- SQLDecimalStorage.cs
- WebPartConnection.cs
- ReaderWriterLockWrapper.cs
- CodeSubDirectoriesCollection.cs
- UserControlBuildProvider.cs
- RightsManagementInformation.cs
- CharUnicodeInfo.cs
- SafeThreadHandle.cs
- TypeToken.cs
- EncryptedKey.cs
- ArgumentOutOfRangeException.cs
- PageCatalogPart.cs
- UITypeEditors.cs
- ToolTip.cs
- DifferencingCollection.cs
- WmpBitmapEncoder.cs
- FormsIdentity.cs
- Drawing.cs
- MediaTimeline.cs
- SqlDataSourceCommandParser.cs
- ArraySortHelper.cs
- ParseNumbers.cs
- Transform3DCollection.cs
- MailWriter.cs
- HttpGetServerProtocol.cs
- FormatConvertedBitmap.cs
- RootContext.cs
- SurrogateEncoder.cs
- FileVersion.cs
- StateBag.cs
- CryptoKeySecurity.cs
- PaperSize.cs
- MatrixUtil.cs