我有一个带有一个WebMethod的Web服务,其返回值是boolean。
它接受XML文件作为字符串和处理数据。我怎样才能首先将状态返回true,然后调用ProcessData方法。
由于处理数据需要时间,我需要先返回true然后处理数据。
请帮忙。
[webmethod]
Public function receiveData(ByVal xmlstr as string) as boolean
dim status as boolean=false
try
if xmlstr<>"" then
ProcessData(xmlstr)
status=true
end if
catch
end try
return status
end function
答案 0 :(得分:1)
如果我理解正确,那么您尝试实现的目标是在ProcessData工作时快速响应用户。
我正在处理类似情况。我做的是创建另一个webmethod(或我的情况下的另一个通用处理程序)并使用Async request
调用它这样我就可以单独使用它而无需额外的线程工作。
答案 1 :(得分:0)
我能看到的唯一方法是在另一个线程上调用ProcessData。当然,多线程很容易出错,在使用它之前你需要先理解它,所以我不打算发布一个代码片段,但是请指出几个地方开始:
http://msdn.microsoft.com/en-us/library/system.threading.thread.aspx