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
- RawTextInputReport.cs
- SafeSecurityHelper.cs
- httpstaticobjectscollection.cs
- ValueConversionAttribute.cs
- GridViewPageEventArgs.cs
- ListManagerBindingsCollection.cs
- ObjectListFieldCollection.cs
- XhtmlMobileTextWriter.cs
- ProvidePropertyAttribute.cs
- XmlWrappingReader.cs
- UniformGrid.cs
- ServiceModelStringsVersion1.cs
- XPathScanner.cs
- OleDbDataAdapter.cs
- SQLByte.cs
- TemplateField.cs
- NameService.cs
- CompiledRegexRunnerFactory.cs
- KeysConverter.cs
- SoapSchemaMember.cs
- SmiXetterAccessMap.cs
- BamlRecordHelper.cs
- SqlTypeConverter.cs
- DataReaderContainer.cs
- ErrorsHelper.cs
- MethodAccessException.cs
- StylusCaptureWithinProperty.cs
- FilteredReadOnlyMetadataCollection.cs
- Keyboard.cs
- NativeCompoundFileAPIs.cs
- TimelineClockCollection.cs
- DocumentScope.cs
- Expression.cs
- StrokeCollection2.cs
- ActionFrame.cs
- GifBitmapEncoder.cs
- TextElementEnumerator.cs
- Pen.cs
- MultiPartWriter.cs
- GrammarBuilderDictation.cs
- XmlSerializerNamespaces.cs
- WebPartMenu.cs
- DSASignatureFormatter.cs
- StaticResourceExtension.cs
- ValidatorCompatibilityHelper.cs
- CodeSnippetExpression.cs
- MailHeaderInfo.cs
- UiaCoreApi.cs
- DataList.cs
- TemplatedAdorner.cs
- AdapterUtil.cs
- XmlDocument.cs
- Bezier.cs
- TextRunTypographyProperties.cs
- DropShadowEffect.cs
- ZipIOCentralDirectoryBlock.cs
- BuildManagerHost.cs
- SqlNamer.cs
- GridViewActionList.cs
- DCSafeHandle.cs
- ViewDesigner.cs
- ReliableChannelFactory.cs
- ErrorTableItemStyle.cs
- AssociationSetEnd.cs
- CodeTypeDeclaration.cs
- SByte.cs
- FocusTracker.cs
- BaseAsyncResult.cs
- SelectedGridItemChangedEvent.cs
- PointLight.cs
- BinaryFormatterSinks.cs
- MissingMethodException.cs
- XmlStreamStore.cs
- Label.cs
- PrinterSettings.cs
- _Connection.cs
- AppLevelCompilationSectionCache.cs
- SpecialNameAttribute.cs
- VerticalAlignConverter.cs
- PinnedBufferMemoryStream.cs
- BaseCodeDomTreeGenerator.cs
- DataGridViewRowHeaderCell.cs
- Types.cs
- _CommandStream.cs
- CustomCredentialPolicy.cs
- Substitution.cs
- WebAdminConfigurationHelper.cs
- KeyboardEventArgs.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- LoginView.cs
- ObjectManager.cs
- DbFunctionCommandTree.cs
- HMACSHA384.cs
- ToolStripKeyboardHandlingService.cs
- CompareValidator.cs
- _NativeSSPI.cs
- EventArgs.cs
- ArgumentException.cs
- MonthCalendar.cs
- TextBox.cs