日期:2014-05-18  浏览次数:20871 次

c#调用webservise 的问题
各位大侠,小弟有个问题请教,我通过WEB引用的方式来调用本身存在的webservise 函数,这个webservice在执行时有先后顺序,我代码如下:

  private void button1_Click(object sender, EventArgs e)
  {
  public kq.ZKWebReference.ZkeeperWebService zkservise = new kq.ZKWebReference.ZkeeperWebService();
   
  if (zkservise.Login(txtuser.Text, txtpassword.Text))//此处是调用的第一个webservice函数
  {
  bool m;
  m = zkservise.ExecuteNonQuery("update a01 set a01101=30 where a0190='05757'");//此处是第2 个webservice函数
  MessageBox.Show(m.ToString()); //输出结果跟直接通过webservise 调用结果对不上  
  }
  else
  { MessageBox.Show("用户名或密码错误!"); }
  }
因为这个webservise中一组函数之间有先后顺序,我在web下执行调用是可以正常执行结果,可是为什么在程序中却只正确执行了第一个函数,第2个函数没有被正常执行。
  我琢磨了很久,会不会是因为程序中每调用一次函数都是独立执行前后没有关联,那如何去保持这种函数间的联系了,请各位高手指教,小弟感激不尽!!

------解决方案--------------------
登录之后服务器记录并返回一个标识符,其他方法参数加上这个标识符,服务器通过判断标识符是否有效决定知否执行方法内容
------解决方案--------------------
没有正确执行是什么意思,是直接跳过zkservise.ExecuteNonQuery()函数了,还是这个函数没有返回值
------解决方案--------------------
你有debug跟踪过zkservise.Login(txtuser.Text, txtpassword.Text)方法的返回值吗?
------解决方案--------------------
webservise 也可以跟踪的, 你试试。