2011-09-29 2 views
0

저는 실버 라이트 wcf ria 서비스 프로젝트에 다음을 구현하려고합니다.비동기 CTP는 문자열 값을 반환하는 wcf ria 서비스 메서드를 호출합니다.

http://blogs.msdn.com/b/kylemc/archive/2010/11/02/using-the-visual-studio-async-ctp-with-ria-services.aspx

그것은 실체에 대해 잘 작동한다. 그러나 문자열을 반환하고 오류를 throw하는 사용자 지정 메서드를 작성하려면 노력하고있어. 클라이언트에서 호출

사용자 정의 방법

public string GetHello(string str) 
    { 
     return ("Hello " + str); 
    } 

String str; 

str = await context.LoadAsync(context.GetHello("Sam")).ToString(); 

오류 :

The 'await' operator requires that its operand 'System.ServiceModel.DomainServices.Client.InvokeOperation' have a suitable public GetAwaiter method

+0

예제 코드를 다시 확인하십시오. 이 클라이언트 코드가 그 오류를 가져올 것이라고 절대 확신합니까? –

답변

0

당신은 InvokeOperationTask A를 변환 AsTask를 호출해야합니다.

+0

나는 그 시도하고 지금은 암시 '문자열' hstring =이 this.parentWindow.ctx.HashString을 기다리고 있습니다 ("asdasd")에 유형 'System.ServiceModel.DomainServices.Client.InvokeOperation 을'변환 할 수 없습니다 얻을. AsTask (); 이 메서드는 대리자를 사용하여 비동기 적으로 호출하면 올바르게 작동합니다. 하지만 비동기 CTP 및 카일 코드를 사용하여 메서드를 동 기적으로 호출합니다. –

+0

'기다리는'후에 'InvokeOperation .Value' 멤버를 읽으십시오. AsTask()). 값' –

+0

AskTask()를 찾을 수 없습니다. 정의 된 위치는 어디입니까? –

관련 문제