webservice可以将回调函数作为参数吗?

时间:2013-05-30 10:28:59

标签: javascript jquery asp.net

我有一个.NET Web服务,它必须执行多个操作,我想通过回调到javascript函数来显示进度。

这是函数

“// vb.NET

  <WebMethod(EnableSession:=True)> _
       <ScriptMethod(ResponseFormat:=ResponseFormat.Json, XMLSerializeString:=False)> _
       Public Shared Function RebuildLuceneIndex(options As List(Of RebuildLuceneOption), callbackProgress As Action(Of String, Boolean))

        For Each opt As RebuildLuceneOption In options
            Try
                Select Case opt.Action.ToLower()
                    Case "clear"
                  .......
                End Select
                callbackProgress.Invoke(opt.Action.ToLower(), True)
            Catch ex As Exception
                callbackProgress.Invoke(opt.Action.ToLower(), False)
            End Try
        Next

    End Function

我正在努力研究jQuery语法来调用这个webservice传递一个json数组的字符串,并回调函数,然后我可以回调它来显示进度。

// java描述

function RebuildLuceneProgressCallback(InvokedMethod, Successfull) {
    if (Successfull) {
        console.log(InvokedMethod + ' Succeeded');
    }
    else {
        console.log(InvokedMethod + ' Failed');
    }        
}

1 个答案:

答案 0 :(得分:0)

您需要将方法分为两种方法:Begin&amp; amp;结束。请参阅Server-Side Asynchronous Web Methods上的这篇文章。

然后在你的jQuery调用中,你需要调用Begin()方法,然后调用后续请求来检查方法是否已经完成。