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
- CompletedAsyncResult.cs
- Rule.cs
- xmlfixedPageInfo.cs
- DbInsertCommandTree.cs
- NativeMethods.cs
- WindowsUpDown.cs
- ClonableStack.cs
- EtwTrace.cs
- UserControl.cs
- filewebrequest.cs
- NullableDecimalSumAggregationOperator.cs
- BuildDependencySet.cs
- LingerOption.cs
- ImageSourceValueSerializer.cs
- UmAlQuraCalendar.cs
- Function.cs
- OdbcStatementHandle.cs
- EnumerableRowCollectionExtensions.cs
- CrossAppDomainChannel.cs
- OdbcConnectionHandle.cs
- FileEnumerator.cs
- Link.cs
- EndOfStreamException.cs
- GPRECT.cs
- ColumnMapCopier.cs
- RequestQueryProcessor.cs
- TdsValueSetter.cs
- CryptoStream.cs
- ContextConfiguration.cs
- ImageAnimator.cs
- RemoteAsymmetricSignatureFormatter.cs
- XPathNavigatorKeyComparer.cs
- WindowsAuthenticationEventArgs.cs
- WS2007HttpBindingElement.cs
- ToolboxBitmapAttribute.cs
- DataServiceRequestOfT.cs
- NavigationCommands.cs
- AttributeInfo.cs
- RankException.cs
- FullTextBreakpoint.cs
- TypeUtil.cs
- NamespaceImport.cs
- GridErrorDlg.cs
- DiscoveryDocumentReference.cs
- WinFormsComponentEditor.cs
- ReachBasicContext.cs
- HandleCollector.cs
- DefaultObjectMappingItemCollection.cs
- PrintEvent.cs
- ClosableStream.cs
- WebServicesDescriptionAttribute.cs
- ConfigurationManagerHelper.cs
- StorageTypeMapping.cs
- FlowNode.cs
- WindowsListViewSubItem.cs
- ToolStripContentPanelRenderEventArgs.cs
- SqlDeflator.cs
- HtmlElementErrorEventArgs.cs
- TagPrefixAttribute.cs
- FileDialog.cs
- SrgsRuleRef.cs
- MessageQueueKey.cs
- PointCollectionConverter.cs
- AuthenticationModuleElement.cs
- BordersPage.cs
- RegionData.cs
- EmbeddedMailObjectsCollection.cs
- SeverityFilter.cs
- CanonicalFontFamilyReference.cs
- WebPartConnectionsCloseVerb.cs
- TextMarkerSource.cs
- BitmapCodecInfoInternal.cs
- TargetConverter.cs
- DiagnosticStrings.cs
- MailDefinitionBodyFileNameEditor.cs
- QuadraticEase.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- LifetimeServices.cs
- TypeGeneratedEventArgs.cs
- PrefixQName.cs
- NumericExpr.cs
- DataGridLinkButton.cs
- SecurityState.cs
- FixedSOMTable.cs
- DelegatingConfigHost.cs
- ConfigurationSectionGroup.cs
- PromptBuilder.cs
- GrammarBuilderBase.cs
- AssociationTypeEmitter.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- ContextMenuStrip.cs
- TreeViewImageKeyConverter.cs
- DirectoryNotFoundException.cs
- ResourceReader.cs
- SizeChangedInfo.cs
- Container.cs
- Stopwatch.cs
- HotSpotCollection.cs
- BitVec.cs
- RepeatButtonAutomationPeer.cs