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
- DirectoryNotFoundException.cs
- TransformConverter.cs
- GetPageCompletedEventArgs.cs
- SplashScreenNativeMethods.cs
- EntityProviderServices.cs
- AppearanceEditorPart.cs
- ZipPackagePart.cs
- filewebrequest.cs
- CustomLineCap.cs
- _TLSstream.cs
- HttpWriter.cs
- UiaCoreTypesApi.cs
- ClientApiGenerator.cs
- XmlUTF8TextReader.cs
- DelegatedStream.cs
- TextServicesDisplayAttribute.cs
- BinaryQueryOperator.cs
- ErrorWrapper.cs
- AutomationIdentifier.cs
- Ray3DHitTestResult.cs
- ThemeInfoAttribute.cs
- AuthenticateEventArgs.cs
- WindowsFormsDesignerOptionService.cs
- AggregateNode.cs
- DbProviderSpecificTypePropertyAttribute.cs
- CodeTypeDelegate.cs
- SafeMILHandle.cs
- PermissionRequestEvidence.cs
- HTMLTextWriter.cs
- MouseEventArgs.cs
- DataSourceHelper.cs
- PreviewPageInfo.cs
- DataGridColumn.cs
- ForwardPositionQuery.cs
- OperationCanceledException.cs
- EdmType.cs
- DbConvert.cs
- DataBindingCollection.cs
- WebBrowserSiteBase.cs
- SemanticTag.cs
- WorkflowCommandExtensionItem.cs
- DesignSurfaceManager.cs
- HotCommands.cs
- WebPartZoneBase.cs
- ContravarianceAdapter.cs
- HtmlInputControl.cs
- RowUpdatedEventArgs.cs
- CorrelationManager.cs
- BaseContextMenu.cs
- FixUp.cs
- MemberBinding.cs
- storepermissionattribute.cs
- HttpClientChannel.cs
- GenericUI.cs
- AssemblyBuilder.cs
- SequentialOutput.cs
- TemplatePropertyEntry.cs
- WindowsListViewItemStartMenu.cs
- XmlEventCache.cs
- XmlnsCache.cs
- ReturnEventArgs.cs
- ParameterReplacerVisitor.cs
- ExpressionCopier.cs
- StateWorkerRequest.cs
- QueryOperationResponseOfT.cs
- XamlDesignerSerializationManager.cs
- DataKeyArray.cs
- DrawingGroup.cs
- StyleSheetComponentEditor.cs
- BookmarkInfo.cs
- DragDeltaEventArgs.cs
- FragmentQuery.cs
- SegmentInfo.cs
- DataGridViewCell.cs
- XsdBuildProvider.cs
- InternalResources.cs
- BaseTemplateParser.cs
- ListParagraph.cs
- CommonEndpointBehaviorElement.cs
- SystemTcpStatistics.cs
- ButtonAutomationPeer.cs
- AuthenticationModuleElement.cs
- ObjectHelper.cs
- StaticSiteMapProvider.cs
- VerticalAlignConverter.cs
- ExtensionCollection.cs
- KerberosTicketHashIdentifierClause.cs
- RuleSettings.cs
- DiagnosticsConfigurationHandler.cs
- ColumnWidthChangingEvent.cs
- SHA1.cs
- Win32Native.cs
- DocumentOrderComparer.cs
- FileVersionInfo.cs
- ExceptionTranslationTable.cs
- MethodAccessException.cs
- AddDataControlFieldDialog.cs
- FixedBufferAttribute.cs
- PerfCounterSection.cs
- TrackingParameters.cs