2009-08-18 4 views
0

반환 값이 부울 인 WebMethod가 하나있는 웹 서비스가 있습니다.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 일 동안.

비슷한 상황을 다루고있었습니다. 내가 한 것은 또 다른 웹 메서드 (또는 다른 경우에는 제네릭 처리기)를 만들고 사용하는 것입니다. Async request

이렇게하면 별도의 스레딩 작업없이 별도로 작업 할 수 있습니다.

+0

당신은 절대적으로 옳습니다. 정보 주셔서 감사합니다. –

관련 문제