Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Dispatcher / IInstanceContextProvider.cs / 1 / IInstanceContextProvider.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System; using System.ServiceModel; using System.ServiceModel.Channels; public interface IInstanceContextProvider { InstanceContext GetExistingInstanceContext(Message message, IContextChannel channel); void InitializeInstanceContext(InstanceContext instanceContext, Message message, IContextChannel channel); bool IsIdle(InstanceContext instanceContext); void NotifyIdle(InstanceContextIdleCallback callback, InstanceContext instanceContext); } internal abstract class InstanceContextProviderBase : IInstanceContextProvider { DispatchRuntime dispatchRuntime; public DispatchRuntime DispatchRuntime { get { return this.dispatchRuntime; } } internal InstanceContextProviderBase(DispatchRuntime dispatchRuntime) { this.dispatchRuntime = dispatchRuntime; } internal static bool IsProviderSingleton(IInstanceContextProvider provider) { return (provider is SingletonInstanceContextProvider); } internal static bool IsProviderSessionful(IInstanceContextProvider provider) { return (provider is PerSessionInstanceContextProvider); } internal static IInstanceContextProvider GetProviderForMode(InstanceContextMode instanceMode, DispatchRuntime runtime) { switch (instanceMode) { case InstanceContextMode.PerCall: return new PerCallInstanceContextProvider(runtime); case InstanceContextMode.PerSession: return new PerSessionInstanceContextProvider(runtime); case InstanceContextMode.Single: return new SingletonInstanceContextProvider(runtime); default: DiagnosticUtility.FailFast("InstanceContextProviderBase.GetProviderForMode: default"); return null; } } internal static bool IsProviderPerCall(IInstanceContextProvider provider) { return (provider is PerCallInstanceContextProvider); } internal ServiceChannel GetServiceChannelFromProxy(IContextChannel channel) { ServiceChannel serviceChannel = channel as ServiceChannel; if (serviceChannel == null) { serviceChannel = ServiceChannelFactory.GetServiceChannel(channel); } return serviceChannel; } #region IInstanceContextProvider Members public virtual InstanceContext GetExistingInstanceContext(Message message, IContextChannel channel) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotImplementedException()); } public virtual void InitializeInstanceContext(InstanceContext instanceContext, Message message, IContextChannel channel) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotImplementedException()); } public virtual bool IsIdle(InstanceContext instanceContext) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotImplementedException()); } public virtual void NotifyIdle(InstanceContextIdleCallback callback, InstanceContext instanceContext) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotImplementedException()); } #endregion } } // 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
- WebExceptionStatus.cs
- XmlSchemaObject.cs
- Pkcs9Attribute.cs
- ContractMapping.cs
- Translator.cs
- CqlParser.cs
- DecimalFormatter.cs
- RefreshEventArgs.cs
- ClientSettingsStore.cs
- TextElementEnumerator.cs
- SchemaInfo.cs
- Command.cs
- SQLChars.cs
- CollectionChange.cs
- XmlCodeExporter.cs
- SQLMoneyStorage.cs
- EventBindingService.cs
- ServiceChannelManager.cs
- GradientStop.cs
- Crc32Helper.cs
- ReflectTypeDescriptionProvider.cs
- Command.cs
- TemplateBindingExpressionConverter.cs
- TextRangeAdaptor.cs
- ServiceDebugElement.cs
- HMACSHA1.cs
- ImageCodecInfoPrivate.cs
- ColumnPropertiesGroup.cs
- MailAddressParser.cs
- UserControlDocumentDesigner.cs
- DynamicDiscoSearcher.cs
- UdpAnnouncementEndpoint.cs
- PolyBezierSegment.cs
- AssemblyLoader.cs
- PropertyPathConverter.cs
- CacheRequest.cs
- WebBrowsableAttribute.cs
- PrintController.cs
- PropertyBuilder.cs
- DisplayInformation.cs
- UniqueIdentifierService.cs
- Stream.cs
- ReachDocumentSequenceSerializerAsync.cs
- CodePropertyReferenceExpression.cs
- SoapAttributeOverrides.cs
- ChannelEndpointElementCollection.cs
- StopStoryboard.cs
- SecureEnvironment.cs
- ServiceOperationParameter.cs
- AddToCollection.cs
- XmlSchemaAnnotation.cs
- MenuItemBinding.cs
- Helper.cs
- HtmlControl.cs
- KeyInstance.cs
- CryptoStream.cs
- TextElementEnumerator.cs
- EntityAdapter.cs
- SinglePhaseEnlistment.cs
- QueryStringParameter.cs
- TemplateControlCodeDomTreeGenerator.cs
- BooleanToVisibilityConverter.cs
- SchemaName.cs
- ResourceBinder.cs
- MDIControlStrip.cs
- SqlLiftWhereClauses.cs
- CapabilitiesPattern.cs
- NodeFunctions.cs
- CharacterString.cs
- Dictionary.cs
- TextComposition.cs
- DataGridHeaderBorder.cs
- BamlTreeMap.cs
- CodeDOMUtility.cs
- Merger.cs
- ClientViaElement.cs
- Attributes.cs
- SoapIncludeAttribute.cs
- LeaseManager.cs
- WebHttpSecurity.cs
- TagMapInfo.cs
- Fault.cs
- Lookup.cs
- UInt64Storage.cs
- XmlSequenceWriter.cs
- PointLight.cs
- StatusBarItemAutomationPeer.cs
- FileStream.cs
- TextBoxAutoCompleteSourceConverter.cs
- ManagementObject.cs
- WeakEventManager.cs
- RoleGroupCollection.cs
- ObjectStateEntryDbDataRecord.cs
- RelationshipEndMember.cs
- UTF7Encoding.cs
- SQLUtility.cs
- WebPartDisplayModeCollection.cs
- SourceFileBuildProvider.cs
- ExpressionWriter.cs
- ReadOnlyHierarchicalDataSource.cs