//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------- namespace System.ServiceModel.Activities.Dispatcher { using System.Runtime; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Dispatcher; //This is a perchannel instance context provider which returns non-throttled IC. class DurableInstanceContextProvider : IInstanceContextProvider { ServiceHostBase serviceHostBase; public DurableInstanceContextProvider(ServiceHostBase serviceHost) { this.serviceHostBase = serviceHost; } public InstanceContext GetExistingInstanceContext(Message message, IContextChannel channel) { Fx.Assert(message != null, "Null message"); Fx.Assert(channel != null, "Null channel"); return new InstanceContext(this.serviceHostBase); } public void InitializeInstanceContext(InstanceContext instanceContext, Message message, IContextChannel channel) { } public bool IsIdle(InstanceContext instanceContext) { return true; } public void NotifyIdle(InstanceContextIdleCallback callback, InstanceContext instanceContext) { //Empty } } }