0
새로운 HttpClient 클래스를 사용하여 서버에 일부 데이터를 업로드하므로 await/async와 같은 새로운 연산자를 사용해야합니다. 나는 다음과 같은 문제가있다 : 첫 번째 파일이 업로드 될 때까지 그리고 다음번 파일로 이동할 때까지 호출자 스레드를 어떻게 차단할 수 있는가? 내 문제에 대한 관심을대기중인 연산자 다음에 호출자 스레드를 차단하는 방법
public async Task Upload(string filename)
{
HttpRequestMessage message = new HttpRequestMessage();
StreamContent streamContent = new StreamContent(new FileStream(filename, FileMode.Open));
message.Method = HttpMethod.Put;
message.Content = streamContent;
message.RequestUri = new Uri(webURI);
HttpResponseMessage response = await httpClient.SendAsync(message);
//I want to reach this point untill I will start to upload next file
if (response.IsSuccessStatusCode)
{
//do something
}
}
void uploadFiles()
{
foreach (string filename in filenames)
{
Upload(filename);
}
}
감사합니다. 당신이 다음 파일을 업로드하기 전에 업로드가 완료되었음을
덕분에,이 내가 검색 한 것입니다. 예를 들면 UploadFolder()와 UploadFiles()를 호출하는 UploadFolder()와 UploadFolder()와 UploadFiles()에 연산자를 대기시켜야합니다. – Vlad
모든 업로드가 끝났을 때를 알고 싶다면'async void uploadFiles()'를'async Task uploadFiles()','await uploadFiles();'로 변경하십시오. – dtb