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
- WinEventWrap.cs
- UnsafeNativeMethods.cs
- XmlName.cs
- URI.cs
- PropertyTab.cs
- XmlAutoDetectWriter.cs
- WinInet.cs
- ThreadInterruptedException.cs
- DashStyle.cs
- SpanIndex.cs
- ValidationResult.cs
- GroupDescription.cs
- SelectionItemProviderWrapper.cs
- NavigatorOutput.cs
- AssemblyAttributes.cs
- EffectiveValueEntry.cs
- PartialCachingControl.cs
- XNameTypeConverter.cs
- ImpersonationContext.cs
- ListViewSelectEventArgs.cs
- IDispatchConstantAttribute.cs
- IdentityHolder.cs
- EpmSourcePathSegment.cs
- ConfigXmlSignificantWhitespace.cs
- AtomMaterializerLog.cs
- DecimalAnimation.cs
- FileLogRecordStream.cs
- UserInitiatedNavigationPermission.cs
- ZeroOpNode.cs
- COM2FontConverter.cs
- IndexingContentUnit.cs
- PermissionSetTriple.cs
- XsltOutput.cs
- StylusShape.cs
- FlowPanelDesigner.cs
- XmlReaderSettings.cs
- DetailsViewModeEventArgs.cs
- MergeEnumerator.cs
- InvokePattern.cs
- CodeSubDirectoriesCollection.cs
- FixedSOMTextRun.cs
- GeneralTransform2DTo3D.cs
- FlowDocument.cs
- Page.cs
- Attributes.cs
- TablePattern.cs
- CharacterBuffer.cs
- SqlClientWrapperSmiStream.cs
- CachingHintValidation.cs
- ActivityInterfaces.cs
- HijriCalendar.cs
- SpellerInterop.cs
- CommentAction.cs
- HttpProtocolReflector.cs
- Button.cs
- mda.cs
- DataGridViewCellValueEventArgs.cs
- XmlSchemaAppInfo.cs
- VScrollProperties.cs
- DataSysAttribute.cs
- HelloMessageApril2005.cs
- CachedFontFamily.cs
- QueryOutputWriterV1.cs
- VisualBasicSettings.cs
- AppSecurityManager.cs
- UserPreferenceChangingEventArgs.cs
- RelationshipSet.cs
- OdbcParameter.cs
- FileSystemWatcher.cs
- OracleLob.cs
- ElementMarkupObject.cs
- DockPanel.cs
- ResourceAttributes.cs
- SamlAttributeStatement.cs
- SafeFileMapViewHandle.cs
- EncryptedHeader.cs
- Keywords.cs
- PointLight.cs
- CodeIdentifier.cs
- LineServicesCallbacks.cs
- ControlIdConverter.cs
- ResourceSetExpression.cs
- BufferModesCollection.cs
- TypeResolvingOptions.cs
- ProtocolInformationWriter.cs
- ControlPropertyNameConverter.cs
- LifetimeServices.cs
- TypedMessageConverter.cs
- ObjectTag.cs
- XmlValueConverter.cs
- MimeFormReflector.cs
- StrokeNodeOperations.cs
- AuthenticationServiceManager.cs
- TogglePattern.cs
- WindowsFormsLinkLabel.cs
- _StreamFramer.cs
- LookupNode.cs
- _LazyAsyncResult.cs
- ConfigurationManager.cs
- ImageMapEventArgs.cs