0

我有一个 .NET 网络服务,它必须执行多个操作,我想通过回调 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

我正在努力锻炼调用这个 web 服务的 jQuery 语法,传递一个 json 字符串数组,以及一个回调函数,然后我可以回调到该函数以显示进度。

//javascript

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

1 回答 1

0

您需要将方法拆分为两种方法:开始和结束。请参阅有关服务器端异步 Web 方法的这篇文章。

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

于 2013-05-30T10:33:02.920 回答