이 메서드를 호출하면 아무 일도 일어나지 않고 응용 프로그램이 충돌합니다. 내 생각에 그게 ExecuteAsync
method.can 누군가 나를 도울 것 같아?. 이건 내 코드입니다.값을 비동기 메서드로 반환하는 방법?
코드 1 :
public Task<Connection> Connect(string userId, string password)
{
var client = new RestClient(_baseUrl)
{
Authenticator = new SimpleAuthenticator("user", userId,
"password", password)
};
var tcs = new TaskCompletionSource<Connection>();
var request = new RestRequest(AppResources.Authenticating);
client.ExecuteAsync<Connection>(request, response => tcs.SetResult(new
JsonDeserializer().Deserialize<Connection>(response)));
return tcs.Task;
}
나는이 코드를 시도했지만 여전히 같은 문제가 존재한다.
CODE2는 :
public async Task<Connection> Connect(string userId, string password)
{
var client = new RestClient(_baseUrl)
{
Authenticator = new SimpleAuthenticator("user", userId,
"password", password)
};
var tcs = new TaskCompletionSource<Connection>();
var request = new RestRequest(AppResources.Authenticating);
client.ExecuteAsync<Connection>(request, response => tcs.SetResult(new
JsonDeserializer().Deserialize<Connection>(response)));
Debug.WriteLine(tcs.Task.Result.Data);
return await tcs.Task;
}
'충돌'이란 무엇입니까? 오류 메시지를 줄 수 있습니까? 스택 추적? –
아무것도 추가되지 않고 응용 프로그램이 정지하고 – user2169047
에 응답하지 않습니다. 어떤 줄에서 멈 춥니 까? 귀하의 서비스가 전화를 받았음을 확인 했습니까? –