2011-01-05 4 views
1

WCF 서비스를 작성했으며 ASPX 페이지의 스크립트에서 서비스 메소드를 호출하려고합니다.WCF 서비스 메소드 + 자바 스크립트에서의 동기 호출

예는 :

<script language="javascript" type="text/javascript"> 

<!-- 

     function Test() { 
      **// The following call is an Async call. 
      tempuri.org.IService.GetData(1,OnRequestComplete, OnError, "");** 
     } 

     function OnRequestComplete(result, state) { 
      var textBox = $get("txtInput"); 
      textBox.value = result; 

     } 
     function OnError(result) { 
      var textBox = $get("txtInput"); 
      textBox.value = result; 
     } 

    //-->  
</script> 

내가 원하는 것은 "기적"서비스 메소드를 호출 할 수있다

예 : VAR 결과 = tempuri.org.IService.GetData (1);

이것이 가능합니까?

답변

3

Javascript에서 동기 호출을 수행 할 수있는 기능이 없다고 생각합니다. AJAX 라이브러리는 원격 응답을 기다리는 동안 항상 반환됩니다.

이유를 설명 할 수 있습니까?

편집 : 그래서 (false를 반환 즉시 웹 서비스 확인 전화를 확인하고 : 버튼을 제출 양식의 onclick 이벤트 핸들러에서

  • :

    대답에서,이 방법을 사용한다 양식이 제출되지 않음). 'Validating'유형의 메시지를 사용자에게 표시하여 여기에서 무슨 일이 일어나는지 알 수 있도록하는 것이 좋습니다.

  • 유효한 응답을 얻은 경우 document.form.submit();을 사용하여 양식을 서버에 제출하십시오.

  • 유효하지 않은 응답 또는 서버 오류가 발생하면 사용자에게 그 취지에 대한 메시지를 표시하십시오.
+0

나는 사용자 정의 스크립트가 "기적"내 WCF 서비스를 호출해야 사용자 지정 유효성 검사기를위한 자바 스크립트 함수 및 사용자 정의를 작성하려는

여기에 내가 AJAX를 사용하지만 때로는이 중단됩니다. 호출이 비동기 인 경우 페이지가 다시 게시되고 wcf에 대한 요청이 완료되지 않습니다. –

+0

그러면 다른 방법을 찾아야합니다. 이 유효성 검사를 먼저 수행 한 다음 결과에 따라 양식을 제출하십시오. –

+0

유효성 확인을위한 논리는 내 서비스에 있습니다. 그래서 서비스 결과가 유효 할 때까지 페이지가 대기해야합니다. –