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
- DesignOnlyAttribute.cs
- DtdParser.cs
- SafeNativeMethods.cs
- TextHidden.cs
- QualificationDataItem.cs
- ArgumentValue.cs
- DocumentViewer.cs
- DriveInfo.cs
- PropertyChangingEventArgs.cs
- StrongNameHelpers.cs
- KeySpline.cs
- Point.cs
- WizardStepBase.cs
- Camera.cs
- WebPartRestoreVerb.cs
- AddDataControlFieldDialog.cs
- ValidationErrorCollection.cs
- Rotation3D.cs
- DatatypeImplementation.cs
- TextView.cs
- PipelineModuleStepContainer.cs
- LongSumAggregationOperator.cs
- QuadTree.cs
- PointAnimationBase.cs
- CategoryGridEntry.cs
- DBDataPermission.cs
- CodeAttachEventStatement.cs
- DelimitedListTraceListener.cs
- LinkedResourceCollection.cs
- CodeVariableReferenceExpression.cs
- ConfigXmlWhitespace.cs
- DataGridView.cs
- RtfNavigator.cs
- MessageHeaderInfoTraceRecord.cs
- Transform3DCollection.cs
- KnownBoxes.cs
- ParallelRangeManager.cs
- SharedStatics.cs
- ColumnHeader.cs
- ActivityAction.cs
- DbConnectionPoolGroup.cs
- oledbmetadatacolumnnames.cs
- XmlNamespaceMappingCollection.cs
- MouseWheelEventArgs.cs
- XhtmlBasicPageAdapter.cs
- ChannelManager.cs
- LinqDataSourceSelectEventArgs.cs
- DataGridColumnReorderingEventArgs.cs
- UIElementCollection.cs
- UnsignedPublishLicense.cs
- _NestedSingleAsyncResult.cs
- SettingsPropertyNotFoundException.cs
- TypeSemantics.cs
- ResourceReader.cs
- LineInfo.cs
- ObjectDataSourceView.cs
- HybridDictionary.cs
- FamilyTypefaceCollection.cs
- EventItfInfo.cs
- GradientBrush.cs
- QilFunction.cs
- MobileCategoryAttribute.cs
- EntryWrittenEventArgs.cs
- BooleanProjectedSlot.cs
- Int64Animation.cs
- TextWriter.cs
- SaveFileDialog.cs
- UnionExpr.cs
- WebPartZoneBase.cs
- TextServicesDisplayAttribute.cs
- StreamGeometryContext.cs
- Parsers.cs
- MediaEntryAttribute.cs
- ToolStripTextBox.cs
- HtmlTextArea.cs
- DbDataRecord.cs
- SQLInt16Storage.cs
- ViewValidator.cs
- List.cs
- _Win32.cs
- OrderedDictionaryStateHelper.cs
- CodeTypeReferenceExpression.cs
- SQLConvert.cs
- SQLBoolean.cs
- XhtmlBasicSelectionListAdapter.cs
- ListDataHelper.cs
- SQLMoney.cs
- ServiceHttpHandlerFactory.cs
- ClassHandlersStore.cs
- TraceLog.cs
- SecurityManager.cs
- ReadOnlyObservableCollection.cs
- COM2ExtendedBrowsingHandler.cs
- SoundPlayer.cs
- Pens.cs
- PathParser.cs
- CachedPathData.cs
- KeyGesture.cs
- VirtualPath.cs
- LineProperties.cs