2014-03-13 2 views
0

엔티티를 비동기 적으로 가져오고 싶습니다. 비동기 적으로 컬렉션을 얻는 방법을 알고 있지만 하나의 객체는 아닙니다. 다음은 컬렉션을 가져 오는 코드입니다..net 응용 프로그램의 SingleOrDefault 비동기

MoviesService.Container _proxy; 

_proxy가 생성자에서 초기화됩니다. 다른 코드는 다음과 같습니다.

이 변경 방법을 혼동하여 단일 항목을 얻는 데 혼란을 겪습니다.

나는 웹 API 2.

답변

0

로드 비동기 모음으로 결과 집합을 사용하고 있습니다. 목록에는 0 개 또는 1 개의 항목이 포함됩니다. 그런 다음 Enumerable.SingleOrDefault을 동 기적으로 사용하십시오.

기본적으로 서버에서 비동기를 사용하면 안된다고 가정 해 보겠습니다. 필요할 때 사용하십시오.

+0

이것은 클라이언트에 있지만 ... 내 웹 API에서는 내 컨트롤러가 모두 asych 메서드입니다 ... 컨트롤러를 만들 때 ashing 메서드를 사용했는지 확인했습니다. – Kourosh

+0

물론 단일 스레드 동기화 컨텍스트를 사용하여 서버에서 비동기 메서드를 사용하려고합니다. 서버가 데이터베이스에 많이 액세스하는 경우 성능 저하없이 모든 동시성 관련 문제를 제거합니다. – zmbq

+0

@ zmbq 보통 내부 요청 동시성이 전혀 없습니다. 비동기는 실제로 그것을 소개 할 가능성이 있습니다. 또한 비동기 코드는 개별 요청에 대해서만 독점적으로 실행됩니다. 모든 응용 프로그램은 설계시 하나의 코어 만 사용되는 경우 매우 나쁜 성능을 보입니다. 그것은 그렇게되지 않습니다. – usr

관련 문제