Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Description / TransactedBatchingBehavior.cs / 1 / TransactedBatchingBehavior.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Description { using System.ServiceModel.Dispatcher; using System.ServiceModel.Channels; public class TransactedBatchingBehavior : IEndpointBehavior { int maxBatchSize; public TransactedBatchingBehavior(int maxBatchSize) { if (maxBatchSize < 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("maxBatchSize", maxBatchSize, SR.GetString(SR.ValueMustBeNonNegative))); } this.maxBatchSize = maxBatchSize; } public int MaxBatchSize { get { return this.maxBatchSize; } set { if (value < 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", value, SR.GetString(SR.ValueMustBeNonNegative))); } this.maxBatchSize = value; } } void IEndpointBehavior.Validate(ServiceEndpoint serviceEndpoint) { BindingElementCollection bindingElements = serviceEndpoint.Binding.CreateBindingElements(); bool transactedElementFound = false; foreach (BindingElement bindingElement in bindingElements) { ITransactedBindingElement txElement = bindingElement as ITransactedBindingElement; if (null != txElement && txElement.TransactedReceiveEnabled) { transactedElementFound = true; break; } } if (! transactedElementFound) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SfxTransactedBindingNeeded))); } void IEndpointBehavior.AddBindingParameters(ServiceEndpoint serviceEndpoint, BindingParameterCollection bindingParameters) { } void IEndpointBehavior.ApplyDispatchBehavior(ServiceEndpoint serviceEndpoint, EndpointDispatcher endpointDispatcher) { if (endpointDispatcher.DispatchRuntime.ReleaseServiceInstanceOnTransactionComplete) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SFxNoBatchingForReleaseOnComplete))); if (serviceEndpoint.Contract.SessionMode == SessionMode.Required) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SFxNoBatchingForSession))); } void IEndpointBehavior.ApplyClientBehavior(ServiceEndpoint serviceEndpoint, ClientRuntime behavior) { if (serviceEndpoint.Contract.SessionMode == SessionMode.Required) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SFxNoBatchingForSession))); behavior.CallbackDispatchRuntime.ChannelDispatcher.MaxTransactedBatchSize = this.MaxBatchSize; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- BaseParaClient.cs
- MouseEvent.cs
- ProjectionCamera.cs
- ContextMenuStripActionList.cs
- CodeCommentStatementCollection.cs
- FakeModelPropertyImpl.cs
- ImmutableObjectAttribute.cs
- Int64KeyFrameCollection.cs
- StateMachineWorkflow.cs
- GridViewDeletedEventArgs.cs
- XmlTextReaderImplHelpers.cs
- FileDataSourceCache.cs
- PrimitiveType.cs
- DocumentXmlWriter.cs
- PageFunction.cs
- PenThreadPool.cs
- DataGridViewAccessibleObject.cs
- BaseParagraph.cs
- DataBindingExpressionBuilder.cs
- EndpointConfigContainer.cs
- WindowsTreeView.cs
- RoleGroupCollection.cs
- BrowserTree.cs
- DataGridViewRowConverter.cs
- DataColumn.cs
- ToolStripItemImageRenderEventArgs.cs
- LocationSectionRecord.cs
- HelpExampleGenerator.cs
- PenThread.cs
- PropertyGrid.cs
- PriorityItem.cs
- ReferenceService.cs
- CardSpaceSelector.cs
- CommandBindingCollection.cs
- Effect.cs
- HttpModuleCollection.cs
- _DomainName.cs
- shaperfactoryquerycachekey.cs
- XhtmlConformanceSection.cs
- GenericFlowSwitchHelper.cs
- RubberbandSelector.cs
- ZipFileInfo.cs
- EntityDataSourceContainerNameConverter.cs
- ServiceModelReg.cs
- DecodeHelper.cs
- EventLogPermission.cs
- DataSourceViewSchemaConverter.cs
- Package.cs
- MetadataException.cs
- ListViewPagedDataSource.cs
- GeometryCombineModeValidation.cs
- CustomCategoryAttribute.cs
- XmlTextWriter.cs
- CollectionAdapters.cs
- CommaDelimitedStringAttributeCollectionConverter.cs
- WithStatement.cs
- InheritanceContextHelper.cs
- SafeNativeMethods.cs
- EmptyStringExpandableObjectConverter.cs
- SmiSettersStream.cs
- TaskExtensions.cs
- ListItemCollection.cs
- WebChannelFactory.cs
- ISAPIApplicationHost.cs
- DataServiceRequestOfT.cs
- ClassHandlersStore.cs
- TrackingStringDictionary.cs
- Substitution.cs
- OdbcConnectionFactory.cs
- ExpandCollapseProviderWrapper.cs
- ShaderEffect.cs
- HelpInfo.cs
- CalculatedColumn.cs
- Evidence.cs
- ComboBoxRenderer.cs
- SamlNameIdentifierClaimResource.cs
- VisualTreeHelper.cs
- CodeDomSerializerException.cs
- _BasicClient.cs
- BitmapEffectState.cs
- EventRoute.cs
- IDispatchConstantAttribute.cs
- PublisherIdentityPermission.cs
- ScrollItemPattern.cs
- LeftCellWrapper.cs
- SourceFileInfo.cs
- GridView.cs
- DropDownButton.cs
- SafeCryptContextHandle.cs
- FloatSumAggregationOperator.cs
- InputScopeNameConverter.cs
- ProtocolReflector.cs
- CapabilitiesAssignment.cs
- FrameworkRichTextComposition.cs
- SourceElementsCollection.cs
- DocumentSequence.cs
- FileEnumerator.cs
- StoreContentChangedEventArgs.cs
- WindowsListViewItemCheckBox.cs
- FocusManager.cs