首页 新闻 搜索 专区 学院

tuxedo调用tpinit问题

0
悬赏园豆:15 [已关闭问题] 关闭于 2010-12-08 01:13

本机如果写一个小程序直接传入参数调用服务,则很顺利的完成,整个过程也非常的快。

可是一到实际环境中,本机作为pos机的后台调用服务总是需要调用多次才能成功,有时调用多次都失败。不知道为什么。

设置环境变量我使用的是这种方式

        private static Byte[] RequestTuxedo(Byte[] inputParams, String serviceName)          {                

      for (int i=0;i<inputParams.Length;i++)                {     

                     if (inputParams[i] == (byte)0)                    {   

                           inputParams[i] = 32;//将0转换为空格                    

            }               

         }                //打印前置机请求信息                //Console.WriteLine(Encoding.ASCII.GetString(inputParams));                              Utils.tuxreadenv("tuxenv.ini", "TUXCOMM");                

      AppContext appContext = AppContext.tpinit(null);                

        TypedBuffer sendBuffer = new             TypedString(Encoding.Default.GetString(inputParams));                

TypedBuffer revBuffer = new TypedString("");                appContext.tpcall(serviceName, sendBuffer, ref revBuffer, 0);                appContext.tpterm();               

 return Encoding.Default.GetBytes(((TypedString)revBuffer).GetString());        

}

问题补充: 自己已经解决。方法如下 Random ran=new Random(100); TypedTPINIT init=new TypedTPINIT(); init.flags = ran.Next(0, 100); AppContext appContext = AppContext.tpinit(init);
高凡凡高的主页 高凡凡高 | 初学一级 | 园豆:95
提问于:2010-12-03 20:53
< >
分享
所有回答(1)
0

试试这个方法,希望能行

叶鹏 | 园豆:21 (初学一级) | 2013-08-13 15:08
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册