File: System\ServiceModel\Activities\Dispatcher\DurableInstanceContextProvider.cs
Project: ndp\cdf\src\NetFx40\System.ServiceModel.Activities\System.ServiceModel.Activities.csproj (System.ServiceModel.Activities)
//----------------------------------------------------------------
// 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
        }
    }
}