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
- ReadOnlyCollectionBase.cs
- XmlProcessingInstruction.cs
- HexParser.cs
- ValidationVisibilityAttribute.cs
- SqlGenericUtil.cs
- TCPClient.cs
- PowerModeChangedEventArgs.cs
- DataGridViewCellStyleChangedEventArgs.cs
- SessionEndedEventArgs.cs
- Condition.cs
- ProcessManager.cs
- DelayLoadType.cs
- CheckBoxFlatAdapter.cs
- WsatConfiguration.cs
- GCHandleCookieTable.cs
- DataQuery.cs
- AxisAngleRotation3D.cs
- DefaultBindingPropertyAttribute.cs
- AdditionalEntityFunctions.cs
- ParseNumbers.cs
- DataServiceQuery.cs
- DesignerResources.cs
- CultureInfoConverter.cs
- MexTcpBindingCollectionElement.cs
- MenuItemStyle.cs
- XmlSchemaValidator.cs
- LocalizabilityAttribute.cs
- FactoryGenerator.cs
- WorkflowMarkupSerializer.cs
- DetailsViewDeletedEventArgs.cs
- PrintingPermissionAttribute.cs
- printdlgexmarshaler.cs
- UnmanagedMemoryStream.cs
- DesignBindingPropertyDescriptor.cs
- WebBrowserProgressChangedEventHandler.cs
- EnterpriseServicesHelper.cs
- DesignerAdRotatorAdapter.cs
- XmlWriterTraceListener.cs
- ContractReference.cs
- ResourceType.cs
- DynamicQueryableWrapper.cs
- ConditionCollection.cs
- RemoveStoryboard.cs
- WorkflowServiceBehavior.cs
- CurrencyManager.cs
- BindingFormattingDialog.cs
- AutomationPropertyInfo.cs
- LineBreak.cs
- SHA512.cs
- TextBoxLine.cs
- ConnectionProviderAttribute.cs
- SendAgentStatusRequest.cs
- XmlSchemaAppInfo.cs
- XamlGridLengthSerializer.cs
- ListViewCommandEventArgs.cs
- SendMailErrorEventArgs.cs
- InstanceDescriptor.cs
- FileDialog.cs
- XmlNodeChangedEventManager.cs
- baseaxisquery.cs
- __TransparentProxy.cs
- UniqueSet.cs
- AsyncOperationManager.cs
- ResourceExpressionBuilder.cs
- ConnectionManagementElementCollection.cs
- ReflectionUtil.cs
- BrushConverter.cs
- StateBag.cs
- BypassElement.cs
- HitTestParameters3D.cs
- TableStyle.cs
- XmlLanguage.cs
- QilReference.cs
- WebPartDisplayModeCancelEventArgs.cs
- HuffCodec.cs
- Unit.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- XsltInput.cs
- FtpWebResponse.cs
- TransferRequestHandler.cs
- SystemDiagnosticsSection.cs
- XsltSettings.cs
- BuildTopDownAttribute.cs
- EdmPropertyAttribute.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- LifetimeServices.cs
- HttpConfigurationContext.cs
- ExpressionBuilder.cs
- LinqDataSourceSelectEventArgs.cs
- Freezable.cs
- BoolExpression.cs
- ModifierKeysValueSerializer.cs
- SamlEvidence.cs
- XPathScanner.cs
- ConfigXmlElement.cs
- TypedDataSetSchemaImporterExtension.cs
- BufferBuilder.cs
- ALinqExpressionVisitor.cs
- CommentEmitter.cs
- TabItemAutomationPeer.cs