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
- FixedHighlight.cs
- Decimal.cs
- QuotedPrintableStream.cs
- APCustomTypeDescriptor.cs
- DisplayInformation.cs
- ProtectedProviderSettings.cs
- RepeatBehavior.cs
- MDIControlStrip.cs
- BufferedGraphics.cs
- DataSourceComponent.cs
- SignatureResourcePool.cs
- VisualStyleRenderer.cs
- XmlHierarchyData.cs
- IndexedSelectQueryOperator.cs
- ToolStripDropDownMenu.cs
- WebReferencesBuildProvider.cs
- WebRequestModulesSection.cs
- PositiveTimeSpanValidator.cs
- UdpDiscoveryMessageFilter.cs
- OracleConnectionStringBuilder.cs
- WmlSelectionListAdapter.cs
- UnsafeNativeMethodsTablet.cs
- HelpEvent.cs
- WebConfigurationManager.cs
- CaseStatementSlot.cs
- Validator.cs
- ToolStripCollectionEditor.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- IPipelineRuntime.cs
- ZoneLinkButton.cs
- ECDiffieHellmanCng.cs
- WebMethodAttribute.cs
- GPPOINT.cs
- StrongNamePublicKeyBlob.cs
- MetadataException.cs
- StatusBarDesigner.cs
- MdiWindowListItemConverter.cs
- ObjectContextServiceProvider.cs
- ConnectionProviderAttribute.cs
- CaseStatementSlot.cs
- WorkflowServiceInstance.cs
- HelpEvent.cs
- CodeDOMProvider.cs
- TextBoxLine.cs
- Effect.cs
- SqlServer2KCompatibilityAnnotation.cs
- MetadataArtifactLoaderCompositeResource.cs
- XmlDataDocument.cs
- MouseGestureValueSerializer.cs
- DescendantBaseQuery.cs
- Authorization.cs
- SoapExtensionImporter.cs
- ScalarType.cs
- DBConnectionString.cs
- InputProcessorProfiles.cs
- AuthorizationBehavior.cs
- QuotedPrintableStream.cs
- SchemaDeclBase.cs
- Cursors.cs
- ConfigurationCollectionAttribute.cs
- SettingsSection.cs
- PartManifestEntry.cs
- WithParamAction.cs
- KeyToListMap.cs
- HttpRawResponse.cs
- SessionPageStateSection.cs
- InstanceOwner.cs
- XmlHelper.cs
- AutomationFocusChangedEventArgs.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- AsymmetricSignatureFormatter.cs
- Crc32Helper.cs
- ListViewItemEventArgs.cs
- DoubleStorage.cs
- UIElementPropertyUndoUnit.cs
- XmlSchemaIdentityConstraint.cs
- TcpClientSocketManager.cs
- precedingquery.cs
- OpenFileDialog.cs
- TextDecorationCollection.cs
- KeyGestureConverter.cs
- CodeStatementCollection.cs
- TiffBitmapDecoder.cs
- Camera.cs
- DataGridBeginningEditEventArgs.cs
- RegexCapture.cs
- Attachment.cs
- SchemaImporterExtension.cs
- KerberosRequestorSecurityToken.cs
- XPathDescendantIterator.cs
- HwndSubclass.cs
- PageCatalogPart.cs
- VectorCollection.cs
- HuffmanTree.cs
- Misc.cs
- SafePointer.cs
- ObjectDataSourceView.cs
- TreeViewImageKeyConverter.cs
- MetadataStore.cs
- MultiByteCodec.cs