internal static ComProxy Create(IntPtr outer, IProvideChannelBuilderSettings channelBuilderSettings)
        {

            if (channelBuilderSettings == null)
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.CannotCreateChannelOption)));


            ChannelOptions channelOptions = null;
            ComProxy proxy = null;
            try
            {
                channelOptions = new ChannelOptions(channelBuilderSettings);
                proxy = ComProxy.Create(outer, channelOptions, channelOptions);
                return proxy;
            }
            finally
            {
                if (proxy == null)
                {
                    if (channelOptions != null)
                        ((IDisposable)channelOptions).Dispose();
                }

            }
        }
        internal static ComProxy Create(IntPtr outer, ContractDescription contract, IProvideChannelBuilderSettings channelBuilderSettings)
        {
            DispatchProxy proxy = null;
            IntPtr inner = IntPtr.Zero;
            ComProxy comProxy = null;
            try
            {
                proxy = new DispatchProxy(contract, channelBuilderSettings);
                inner = OuterProxyWrapper.CreateDispatchProxy(outer, proxy);
                comProxy = new ComProxy(inner, proxy);
                return comProxy;

            }
            finally
            {
                if (comProxy == null)
                {
                    if (proxy != null)
                    {
                        ((IDisposable)proxy).Dispose();
                    }
                    if (inner != IntPtr.Zero)
                    {
                        Marshal.Release(inner);
                    }
                }

            }


        }
Example #3
0
        internal static ComProxy Create(IntPtr outer, ContractDescription contract, IProvideChannelBuilderSettings channelBuilderSettings)
        {
            DispatchProxy proxy = null;
            ComProxy      proxy3;
            IntPtr        zero   = IntPtr.Zero;
            ComProxy      proxy2 = null;

            try
            {
                proxy  = new DispatchProxy(contract, channelBuilderSettings);
                zero   = OuterProxyWrapper.CreateDispatchProxy(outer, proxy);
                proxy2 = new ComProxy(zero, proxy);
                proxy3 = proxy2;
            }
            finally
            {
                if (proxy2 == null)
                {
                    if (proxy != null)
                    {
                        ((IDisposable)proxy).Dispose();
                    }
                    if (zero != IntPtr.Zero)
                    {
                        Marshal.Release(zero);
                    }
                }
            }
            return(proxy3);
        }
        internal static ComProxy Create(IntPtr outer, ContractDescription contract, IProvideChannelBuilderSettings channelBuilderSettings)
        {
            DispatchProxy proxy    = null;
            IntPtr        inner    = IntPtr.Zero;
            ComProxy      comProxy = null;

            try
            {
                proxy    = new DispatchProxy(contract, channelBuilderSettings);
                inner    = OuterProxyWrapper.CreateDispatchProxy(outer, proxy);
                comProxy = new ComProxy(inner, proxy);
                return(comProxy);
            }
            finally
            {
                if (comProxy == null)
                {
                    if (proxy != null)
                    {
                        ((IDisposable)proxy).Dispose();
                    }
                    if (inner != IntPtr.Zero)
                    {
                        Marshal.Release(inner);
                    }
                }
            }
        }
 internal static ComProxy Create(IntPtr outer, ContractDescription contract, IProvideChannelBuilderSettings channelBuilderSettings)
 {
     DispatchProxy proxy = null;
     ComProxy proxy3;
     IntPtr zero = IntPtr.Zero;
     ComProxy proxy2 = null;
     try
     {
         proxy = new DispatchProxy(contract, channelBuilderSettings);
         zero = OuterProxyWrapper.CreateDispatchProxy(outer, proxy);
         proxy2 = new ComProxy(zero, proxy);
         proxy3 = proxy2;
     }
     finally
     {
         if (proxy2 == null)
         {
             if (proxy != null)
             {
                 ((IDisposable) proxy).Dispose();
             }
             if (zero != IntPtr.Zero)
             {
                 Marshal.Release(zero);
             }
         }
     }
     return proxy3;
 }
        internal static ComProxy Create(IntPtr outer, IProvideChannelBuilderSettings channelBuilderSettings)
        {
            if (channelBuilderSettings == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.CannotCreateChannelOption)));
            }


            ChannelCredentials ChannelCredentials = null;
            ComProxy           proxy = null;

            try
            {
                ChannelCredentials = new ChannelCredentials(channelBuilderSettings);
                proxy = ComProxy.Create(outer, ChannelCredentials, ChannelCredentials);
                return(proxy);
            }
            finally
            {
                if (proxy == null)
                {
                    if (ChannelCredentials != null)
                    {
                        ((IDisposable)ChannelCredentials).Dispose();
                    }
                }
            }
        }
Example #7
0
        internal static ComProxy Create(IntPtr outer, IProvideChannelBuilderSettings channelBuilderSettings)
        {
            ComProxy proxy2;

            if (channelBuilderSettings == null)
            {
                throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.ServiceModel.SR.GetString("CannotCreateChannelOption")));
            }
            ChannelCredentials credentials = null;
            ComProxy           proxy       = null;

            try
            {
                credentials = new ChannelCredentials(channelBuilderSettings);
                proxy       = ComProxy.Create(outer, credentials, credentials);
                proxy2      = proxy;
            }
            finally
            {
                if ((proxy == null) && (credentials != null))
                {
                    ((IDisposable)credentials).Dispose();
                }
            }
            return(proxy2);
        }
Example #8
0
 private DispatchProxy(ContractDescription contract, IProvideChannelBuilderSettings channelBuilderSettings)
 {
     if (channelBuilderSettings == null)
     {
         throw Fx.AssertAndThrow("channelBuilderSettings cannot be null cannot be null");
     }
     if (contract == null)
     {
         throw Fx.AssertAndThrow("contract cannot be null");
     }
     this.channelBuilderSettings = channelBuilderSettings;
     this.contract = contract;
     this.ProcessContractDescription();
     ComPlusDispatchMethodTrace.Trace(TraceEventType.Verbose, 0x50020, "TraceCodeComIntegrationDispatchMethod", this.dispToOperationDescription);
 }
 private DispatchProxy(ContractDescription contract, IProvideChannelBuilderSettings channelBuilderSettings)
 {
     if (channelBuilderSettings == null)
     {
         throw Fx.AssertAndThrow("channelBuilderSettings cannot be null cannot be null");
     }
     if (contract == null)
     {
         throw Fx.AssertAndThrow("contract cannot be null");
     }
     this.channelBuilderSettings = channelBuilderSettings;
     this.contract = contract;
     this.ProcessContractDescription();
     ComPlusDispatchMethodTrace.Trace(TraceEventType.Verbose, 0x50020, "TraceCodeComIntegrationDispatchMethod", this.dispToOperationDescription);
 }
 internal static ComProxy Create(IntPtr outer, IProvideChannelBuilderSettings channelBuilderSettings)
 {
     ComProxy proxy2;
     if (channelBuilderSettings == null)
     {
         throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(System.ServiceModel.SR.GetString("CannotCreateChannelOption")));
     }
     ChannelCredentials credentials = null;
     ComProxy proxy = null;
     try
     {
         credentials = new ChannelCredentials(channelBuilderSettings);
         proxy = ComProxy.Create(outer, credentials, credentials);
         proxy2 = proxy;
     }
     finally
     {
         if ((proxy == null) && (credentials != null))
         {
             ((IDisposable) credentials).Dispose();
         }
     }
     return proxy2;
 }
 internal ChannelCredentials(IProvideChannelBuilderSettings channelBuilderSettings)
 {
     this.channelBuilderSettings = channelBuilderSettings;
 }
 internal ChannelOptions(IProvideChannelBuilderSettings channelBuilderSettings)
 {
     this.channelBuilderSettings = channelBuilderSettings;
 }
 internal ChannelCredentials(IProvideChannelBuilderSettings channelBuilderSettings)
 {
     this.channelBuilderSettings = channelBuilderSettings;
 }
 internal ChannelOptions(IProvideChannelBuilderSettings channelBuilderSettings)
 {
     this.channelBuilderSettings = channelBuilderSettings;
 }