public void Initialize(InstanceContext instanceContext, Message message)
        {
            object serviceConfig = null;

            serviceConfig = SetupServiceConfig(instanceContext, message);

            IServiceActivity activity;

            activity = (IServiceActivity)SafeNativeMethods.CoCreateActivity(
                serviceConfig,
                IID_IServiceActivity);

            ComPlusSynchronizationContext syncContext;
            bool postSynchronous = (this.info.ThreadingModel ==
                                    ThreadingModel.MTA);

            syncContext = new ComPlusSynchronizationContext(activity,
                                                            postSynchronous);
            instanceContext.SynchronizationContext = syncContext;

            instanceContext.Closing += this.OnInstanceContextClosing;
            Marshal.ReleaseComObject(serviceConfig);
        }