2009-10-09 5 views
2

ASP.NET에서 일반 ASMX 웹 서비스를 만들고 SoapDocumentMethod (OneWay = true)를 함수 호출에 추가했습니다. 비동기 호출을 수행합니다. 그러나 내 코드에서이 호출하고 확실히 비동기 호출을 만들지 않습니다, 내 페이지 작업을 완료하려면 함수를 기다리는 앉아 그냥. 뭐라 구요?ASP.NET 화재 및 잊어 버림 (편도) 웹 서비스

[SoapDocumentMethod(OneWay = true)] 
[WebMethod(EnableSession = true)] 
public void UpdateAccounts() 
{ 
//do work 
} 

//call the function 
GlobalServices service = new GlobalServices(); 
service .UpdateAccounts() 

답변

3

여전히 비동기 메서드를 사용하여 호출해야합니다. 이 경우 service.UpdateAccountsAsync()으로 전화해야합니다.

+0

도움. –

+0

이것이 작동하는 방식이나 작동 방식에 대한 제 이해입니다. – Chris

0

값을 반환 하시겠습니까? OneWay의 설명서에는 웹 메서드가 "값을 반환하거나 매개 변수가 없습니다"라는 웹 메서드가 있습니다. 편도에 대한 문서가 웹 서비스에 앞서 서비스 방법을 실행에 즉시 HTTP 상태 코드 (202)를 반환합니다, 그래서 서비스 기능 비동기로가는 만드는 생각하지 않는다는 것을 명시하는 것을 제외하고

http://msdn.microsoft.com/en-us/library/system.web.services.protocols.soapdocumentmethodattribute.oneway(VS.80).aspx

+0

아니, 아무것도 반환하지 않습니다. – Chris

+0

함수를 제거하고 웹 서비스가 반환되는지 확인하십시오. 그렇다면 Erich가 말한 것처럼 서비스 기능을 비동기 적으로 수행해야 할 필요가 있다고 생각합니다. –

+0

내가 생각할 수있는 유일한 다른 점은 "EnableSession"특성이 어떻게 든 비동기 동작을 방해한다는 것입니다. 그것을 제거해보십시오. –

관련 문제