从另一个web服务的Success函数调用c# web服务

本文关键字:web 服务 函数调用 Success 另一个 | 更新日期: 2023-09-27 18:15:53

我的问题很简单。你能从另一个web服务的Success函数中调用c# web服务吗?我认为答案是否定的。

我有一个登录webservice,当用户试图做一些需要用户登录的事情时调用。然后调用另一个web服务,当操作完成时,它不会进入onSuccess函数。我认为它不能这样做?这是正确的吗?

示例代码,不是实际代码。

webservice.login(onLoginSuccess)
function onLoginSuccess(){
    webservice.doSomething(onDoSomethingSuccess)
}
function onDoSomethingSuccess(){
    .... does not get here.
}

这是它的基本代码。

客户端JavaScript调用,登录webservice成功。

function onLoginSuccess(result){

    negotiateWithUser(true,
                      activeUser.id,
                      negotiation.dateID,
                      activeUser.showChat,
                      true);
}

function negotiateWithUser() {
    <code>
    if (justLoggedIn) updateDateData();
    <code>
}
 function updateDateData(){
     if (populate==false){
         populate=true;       
        WebService.Negotiations.DatesGet(activeUser.id,SucceededtoCallbackDateRefresh, ErrorHandler);          
     }
}

不进入successdedtocallbackdaterefresh函数,即使返回数据并且没有错误。

我想我知道问题是什么,在negotiateWithUser函数中,updateDateData被调用,执行控制被交还给negotiateWithUser函数,而不是进入SucceededtoCallbackDateRefresh成功函数,因为它是一个异步调用。我认为某种回调函数是必需的。

我通过在onLoginSuccess函数中调用setInterval()中的updataDateData函数来解决问题。

 function onLoginSuccess(result){ 
      if (negotiate) {              
           timerInterval = setInterval("updateDateData()", 300);
      }
 }

它的工作原理。如果有人有更优雅的方法,我会很感兴趣。
谢谢。

从另一个web服务的Success函数调用c# web服务

如何使用jQuery.ajax()?

 function Func1() {
    $.ajax({
        url:'MyWebService.asmx/Func1',
        success:Func1Success,
        error: function () {
            alert('there was an error!');
        },
    });
    return false;
}
function Func1Success(output){
  $.ajax({
        url:'MyWebService.asmx/Func2',
        success:Func1SuccessToSuccess,
        error: function () {
            alert('there was an error!');
        },
    });
}
function Func1SuccessToSuccess() {
    return false;
}

你绝对可以。

只是给一个理论上的建议/建议,你可以有一个本地变量作为第一个web服务方法的状态响应,你可以有一个布尔值,代表第一次调用的成功。然后,如果你的本地变量匹配你的成功条件,你可以依次调用另一个web服务方法。

我所提供的只是一个想法,对于更具体的答案,我建议你发布你正在工作的实际代码。

谢谢。

我假设你在服务器上使用。cs文件,然后从android调用它们。如果这就是你正在做的,那么有一种方法可以在另一个方法成功时调用一个方法。只需创建两个.cs文件,分别表示x和y,并将其存储在服务器上。然后从android (x)中调用其中一个,然后让object of y in x,就这样了。如。这是我的一个。cs文件,名为abc.cs,它将从android调用。

 [WebMethod]
 public xyz IsLoggedIn()
 {
    xyz example = new xyz();
    //do something
    .
    .
    return example;
  }

现在xyz.cs将是:

[WebMethod]
 public void onSuccessofIsLoggedIn()
 {
    //do something
    .
    .
  }

我希望这有助于....所有这些都只是基于假设…请清楚你使用的是什么,我们也会在我们的答案中更清楚。