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
- LateBoundBitmapDecoder.cs
- DeferredBinaryDeserializerExtension.cs
- SmtpClient.cs
- DynamicDiscoveryDocument.cs
- DataSourceConverter.cs
- NativeMethodsOther.cs
- SafeBitVector32.cs
- Group.cs
- TabPanel.cs
- ADConnectionHelper.cs
- SerializableAttribute.cs
- BitmapEffectInputData.cs
- _AutoWebProxyScriptEngine.cs
- UserNamePasswordValidator.cs
- TextElement.cs
- HelpInfo.cs
- ColumnResizeUndoUnit.cs
- DTCTransactionManager.cs
- EntityDescriptor.cs
- HttpModulesSection.cs
- ApplicationBuildProvider.cs
- ListViewDataItem.cs
- PathGeometry.cs
- ExpressionBuilderCollection.cs
- DataContractJsonSerializer.cs
- ExitEventArgs.cs
- DataGridViewDataConnection.cs
- ErrorStyle.cs
- ObjectItemCachedAssemblyLoader.cs
- ValidateNames.cs
- HttpListenerRequestTraceRecord.cs
- AuthorizationSection.cs
- RandomNumberGenerator.cs
- DataGridViewColumnStateChangedEventArgs.cs
- WindowInteropHelper.cs
- ZipIOLocalFileDataDescriptor.cs
- PlanCompilerUtil.cs
- NullToBooleanConverter.cs
- SocketException.cs
- ProtocolsSection.cs
- DirectoryInfo.cs
- _NativeSSPI.cs
- Normalization.cs
- Typography.cs
- OutKeywords.cs
- DecoderReplacementFallback.cs
- RichTextBoxConstants.cs
- DataMemberAttribute.cs
- DotExpr.cs
- TraceSwitch.cs
- TextEditorSelection.cs
- TextEndOfParagraph.cs
- ReflectionPermission.cs
- ViewSimplifier.cs
- MimeObjectFactory.cs
- StateMachine.cs
- HitTestResult.cs
- CapabilitiesSection.cs
- PriorityQueue.cs
- ColorEditor.cs
- DecimalKeyFrameCollection.cs
- PermissionSet.cs
- DrawingCollection.cs
- Attachment.cs
- BigInt.cs
- ResourceReader.cs
- CreateUserWizardDesigner.cs
- TemplatePartAttribute.cs
- PrePostDescendentsWalker.cs
- CurrentChangedEventManager.cs
- FixedSOMPage.cs
- MailMessageEventArgs.cs
- TemplatedWizardStep.cs
- Win32PrintDialog.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- QilUnary.cs
- ObjectListItemCollection.cs
- MSHTMLHost.cs
- ComponentEditorPage.cs
- InputManager.cs
- SignedInfo.cs
- XamlVector3DCollectionSerializer.cs
- GenericsInstances.cs
- Pens.cs
- HttpProfileBase.cs
- QuadraticBezierSegment.cs
- SerializableAttribute.cs
- MonthCalendar.cs
- XmlSchemaAnyAttribute.cs
- ControlUtil.cs
- CFGGrammar.cs
- CompilerTypeWithParams.cs
- DataSourceExpression.cs
- FrameworkPropertyMetadata.cs
- _FtpControlStream.cs
- SEHException.cs
- FloaterParagraph.cs
- HttpException.cs
- HtmlControl.cs
- WindowPattern.cs