protected void CallOnDisconnectedProxy(Type contractType, string methodName, params object[] @params)
        {
            var channelFactory = new ChannelFactory(contractType, testOptimizationPack);

            var channel = channelFactory.CreateDisconnectedChannel(typeCacher);

            var method = channel.GetType().GetMethod(methodName);

            using (var trxScope = new TransactionScope(TransactionScopeOption.RequiresNew))
            {
                method.Invoke(channel, @params);

                if (channel is IDisposable)
                {
                    ((IDisposable)channel).Dispose();
                }

                trxScope.Complete();
            }

            Thread.Sleep(1000);
        }
Пример #2
0
        public static object CreateDisconnectedCommandProxy(Type type, IOptimizationPackage optPack)
        {
            var channelFactory = new ChannelFactory(type, optPack);

            return(channelFactory.CreateDisconnectedChannel(TypeCacher.Instance));
        }