System.ServiceModel.Dispatcher.InitializingHandler.CreateInstanceContext C# (CSharp) Method

CreateInstanceContext() private method

private CreateInstanceContext ( System.ServiceModel.Dispatcher.MessageProcessingContext mrc ) : System.ServiceModel.InstanceContext
mrc System.ServiceModel.Dispatcher.MessageProcessingContext
return System.ServiceModel.InstanceContext
		InstanceContext CreateInstanceContext (MessageProcessingContext mrc)
		{
			InstanceContext iCtx = null;
			DispatchRuntime dispatchRuntime = mrc.OperationContext.EndpointDispatcher.DispatchRuntime;
			IInstanceContextProvider p = dispatchRuntime.InstanceContextProvider;

			if (p != null) {
				iCtx = p.GetExistingInstanceContext (mrc.IncomingMessage, mrc.OperationContext.Channel);
			}
			if (iCtx == null) {
				ServiceHostBase host = dispatchRuntime.ChannelDispatcher.Host;
				iCtx = new InstanceContext (dispatchRuntime.ChannelDispatcher.Host, null, false);
			}

			iCtx.InstanceManager = new InstanceManager (dispatchRuntime);
			return iCtx;
		}		
	}