private string GetQualifiedExitPath(ref string libraryName)
        {
            uint method = 0x25;

            this.TrEntry(method, new object[] { libraryName });
            FileInfo info        = null;
            string   stringValue = null;

            try
            {
                info = new FileInfo(libraryName);
                if (info.FullName.Equals(libraryName, StringComparison.CurrentCultureIgnoreCase))
                {
                    return(libraryName);
                }
                MQClientCfg cfg = MQTCPConnection.Cfg;
                if (CommonServices.Is64bitCLR())
                {
                    stringValue = cfg.GetStringValue(MQClientCfg.CLIENTEXITPATH_EXITSDEFAULTPATH64);
                }
                else
                {
                    stringValue = cfg.GetStringValue(MQClientCfg.CLIENTEXITPATH_EXITSDEFAULTPATH);
                }
                libraryName = stringValue + @"\" + libraryName;
            }
            finally
            {
                base.TrExit(method);
            }
            return(libraryName);
        }
예제 #2
0
        internal MQChannelTable(NmqiEnvironment nmqiEnv) : base(nmqiEnv)
        {
            string str2;

            this.uintarray = new byte[4];
            base.TrConstructor("%Z% %W%  %I% %E% %U%", new object[] { nmqiEnv });
            MQClientCfg cfg = nmqiEnv.Cfg;

            this.mqfile = cfg.GetStringValue(MQClientCfg.ENV_MQCHLLIB);
            if (this.mqfile != null)
            {
                base.TrText("MQCHLLIB=" + this.mqfile);
            }
            else
            {
                base.TrText("MQCHLLIB=null");
                this.mqfile = CommonServices.DataLib;
            }
            if ((this.mqfile.Length == 0) || (this.mqfile == "."))
            {
                this.mqfile = Environment.CurrentDirectory;
            }
            if (this.mqfile.ToLower().IndexOf("http://") != -1)
            {
                str2 = "/";
            }
            else
            {
                str2 = @"\";
            }
            if (!this.mqfile.EndsWith(str2))
            {
                this.mqfile = this.mqfile + str2;
            }
            string stringValue = cfg.GetStringValue(MQClientCfg.ENV_MQCHLTAB);

            if (stringValue != null)
            {
                base.TrText("MQCHLTAB=" + stringValue);
                this.mqfile = this.mqfile + stringValue;
            }
            else
            {
                base.TrText("MQCHLTAB=null");
                this.mqfile = this.mqfile + "AMQCLCHL.TAB";
            }
            if (this.mqfile != null)
            {
                base.TrText("MQFILE=" + this.mqfile);
            }
        }
예제 #3
0
 internal MQTCPConnection(NmqiEnvironment nmqiEnv, MQConnectionSpecification spec, MQFAP fap, MQChannelDefinition mqcd, MQSSLConfigOptions sslConfigOptions, int options) : base(nmqiEnv, spec.MQChannelDef.Clone())
 {
     this.timeout             = 0x1d4c0;
     this.timeoutChanged      = true;
     this.maxTransmissionSize = 0x7ff6;
     this.Lock = new object();
     base.TrConstructor("%Z% %W%  %I% %E% %U%");
     this.conname = mqcd.ConnectionName;
     this.nextHeartBeatSendTime = DateTime.Now.AddSeconds((double)this.timeout);
     this.localAddr             = mqcd.LocalAddress;
     cfg                       = base.env.Cfg;
     this.mqcd                 = mqcd;
     this.sslConfigOptions     = sslConfigOptions;
     base.fap                  = fap;
     base.remoteConnectionSpec = spec;
     base.connectOptions       = options;
     base.nmqiFlags            = spec.NmqiFlags;
     base.commsBufferPool      = fap.CommsBufferPool;
 }