2009-08-18 26 views
0

私は、返り値がブール値であるWebMethodを持つWebサービスを持っています。WebMethodは値を返し、vb.netの他のメソッドを呼び出す

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

私がこれを見ることができる唯一の方法は、別のスレッドでProcessDataを呼び出すことです。もちろん、マルチスレッドは間違って行うのは簡単ですし、使用する前に理解する必要があるので、コードスニペットを投稿するつもりはありませんが、開始する場所をいくつか指摘してください:

http://msdn.microsoft.com/en-us/library/system.threading.thread.aspx

http://www.yoda.arachsys.com/csharp/threads/

1

私が正しくあなたを理解していればProcessDataはバックで作業中に、どのようなあなたが達成しようとすると、ユーザーへの迅速な応答です。

私は同様の状況を扱っていました。私がしたことは、別のWebメソッド(または私の場合は別のジェネリックハンドラ)を作成し、それを呼び出すことでした。Async request

このようにして、

+0

あなたは絶対に正しいです。情報をありがとう。 –

関連する問題