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
- HealthMonitoringSection.cs
- RenderCapability.cs
- SizeAnimationClockResource.cs
- EncryptedPackageFilter.cs
- TableCellCollection.cs
- DataGridViewAdvancedBorderStyle.cs
- RequestCacheManager.cs
- XamlToRtfWriter.cs
- TextEditorContextMenu.cs
- TraceFilter.cs
- IndependentlyAnimatedPropertyMetadata.cs
- DataGridViewUtilities.cs
- BasicHttpBinding.cs
- HostExecutionContextManager.cs
- XmlSchemaProviderAttribute.cs
- TransactionState.cs
- WebProxyScriptElement.cs
- StreamUpdate.cs
- IssuedTokenClientBehaviorsElement.cs
- SystemFonts.cs
- EntityParameter.cs
- HtmlToClrEventProxy.cs
- EraserBehavior.cs
- ReadOnlyNameValueCollection.cs
- Vector3DKeyFrameCollection.cs
- SimpleWebHandlerParser.cs
- RawStylusInput.cs
- LogManagementAsyncResult.cs
- CancellationTokenRegistration.cs
- HitTestWithPointDrawingContextWalker.cs
- ProfileGroupSettings.cs
- OptimalTextSource.cs
- WebPartMinimizeVerb.cs
- WebPartDescriptionCollection.cs
- HttpStreams.cs
- CommandConverter.cs
- DataSourceGeneratorException.cs
- InfoCardRSACryptoProvider.cs
- AllMembershipCondition.cs
- CheckBox.cs
- ToolStripSeparator.cs
- HttpRawResponse.cs
- PocoEntityKeyStrategy.cs
- RowsCopiedEventArgs.cs
- ColumnResult.cs
- DesignerOptionService.cs
- xamlnodes.cs
- LoginName.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- sqlstateclientmanager.cs
- MD5CryptoServiceProvider.cs
- MouseButton.cs
- NumericPagerField.cs
- ClientSettingsSection.cs
- WinEventTracker.cs
- ProxyGenerator.cs
- ApplicationId.cs
- Win32Native.cs
- ProtectedConfigurationProviderCollection.cs
- MappingException.cs
- DocumentPaginator.cs
- AssemblyInfo.cs
- AdapterDictionary.cs
- TextMessageEncodingBindingElement.cs
- ValidationSummary.cs
- WebPartsSection.cs
- KeyEvent.cs
- BCryptSafeHandles.cs
- AutoSizeToolBoxItem.cs
- BitConverter.cs
- ClientCultureInfo.cs
- PropertyInfoSet.cs
- WebBrowserProgressChangedEventHandler.cs
- CodeAccessSecurityEngine.cs
- LinkLabel.cs
- Facet.cs
- newinstructionaction.cs
- CompositeFontFamily.cs
- DataGridCommandEventArgs.cs
- Range.cs
- MultiBinding.cs
- DashStyle.cs
- ParameterReplacerVisitor.cs
- AttributeCollection.cs
- TiffBitmapEncoder.cs
- RepeaterItemCollection.cs
- MissingManifestResourceException.cs
- WebScriptEndpointElement.cs
- __Filters.cs
- ArrayExtension.cs
- ReaderWriterLockWrapper.cs
- StreamGeometry.cs
- DataControlImageButton.cs
- MethodCallConverter.cs
- XsltQilFactory.cs
- IFormattable.cs
- SQLByteStorage.cs
- NullableLongSumAggregationOperator.cs
- DataControlField.cs
- ThicknessAnimationUsingKeyFrames.cs