Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / Data / Microsoft / SqlServer / Server / SmiEventSink_DeferedProcessing.cs / 1 / 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
- LineVisual.cs
- SmtpFailedRecipientException.cs
- ApplicationFileParser.cs
- FixUp.cs
- InvokePattern.cs
- ScriptRef.cs
- InkSerializer.cs
- SupportingTokenParameters.cs
- TextParagraph.cs
- sqlnorm.cs
- DependencySource.cs
- ScalarOps.cs
- SrgsGrammar.cs
- RepeaterDesigner.cs
- ShadowGlyph.cs
- _ListenerResponseStream.cs
- TypeConverter.cs
- StringArrayConverter.cs
- DocComment.cs
- FamilyMap.cs
- SpecialFolderEnumConverter.cs
- HostingEnvironment.cs
- ActivationServices.cs
- EncryptedKey.cs
- XmlConvert.cs
- SqlLiftIndependentRowExpressions.cs
- WebPartsPersonalization.cs
- QueryContinueDragEvent.cs
- DataColumnMappingCollection.cs
- Crc32.cs
- SelectedGridItemChangedEvent.cs
- DrawingContextFlattener.cs
- Math.cs
- HostDesigntimeLicenseContext.cs
- BridgeDataRecord.cs
- UniqueTransportManagerRegistration.cs
- TextBox.cs
- control.ime.cs
- MarkupExtensionReturnTypeAttribute.cs
- NamespaceMapping.cs
- ConfigXmlWhitespace.cs
- StreamAsIStream.cs
- DrawingAttributes.cs
- ReachBasicContext.cs
- SimpleWorkerRequest.cs
- WbmpConverter.cs
- _OSSOCK.cs
- ThumbAutomationPeer.cs
- SiteMembershipCondition.cs
- OleDbConnection.cs
- CellLabel.cs
- ReadWriteSpinLock.cs
- FaultReasonText.cs
- QueryExpression.cs
- WebProxyScriptElement.cs
- ByeMessageApril2005.cs
- WinFormsSpinner.cs
- RadioButtonAutomationPeer.cs
- GeneralTransformGroup.cs
- EntityUtil.cs
- ProcessModuleCollection.cs
- FixedTextPointer.cs
- UInt32Converter.cs
- InkSerializer.cs
- ToolStripControlHost.cs
- GCHandleCookieTable.cs
- DynamicResourceExtensionConverter.cs
- ContentType.cs
- XPathBuilder.cs
- TransactionContextManager.cs
- CharEnumerator.cs
- CacheHelper.cs
- DataSetUtil.cs
- TextParaLineResult.cs
- EdgeProfileValidation.cs
- MaskedTextProvider.cs
- MdiWindowListStrip.cs
- Lookup.cs
- SkipQueryOptionExpression.cs
- BuildDependencySet.cs
- PointIndependentAnimationStorage.cs
- LinearQuaternionKeyFrame.cs
- Nodes.cs
- Publisher.cs
- DrawListViewSubItemEventArgs.cs
- TimersDescriptionAttribute.cs
- Vector3DAnimationUsingKeyFrames.cs
- Version.cs
- ProcessModelInfo.cs
- InputReferenceExpression.cs
- UrlMappingCollection.cs
- TabControlDesigner.cs
- IdleTimeoutMonitor.cs
- CodeCommentStatementCollection.cs
- InstanceKey.cs
- EmptyReadOnlyDictionaryInternal.cs
- MailSettingsSection.cs
- ReferenceSchema.cs
- MSG.cs
- InputBuffer.cs