나는 async/await 패턴에 대해 아주 깊이 이해하지 못한다는 것을 인정한다. 방금 일부 기사를 읽고이 패턴이 좋음을 느껴서 어디서나 사용했습니다. 내 서비스 계층은 다음과 같은 코드로 박제되어비동기/대기 패턴을 잘못 사용했거나 과용 했습니까?
public async Task DoSomeWork()
{
// some database operations...
await ctx.SaveChangesAsync();
}
그리고 내 비동기 컨트롤러 액션 메소드에서 :
내 대부분의 프로젝트에서public async Task<ActionResult> SomeAction()
{
await service.DoSomeWork();
return View();
}
는 IIS 서버와 데이터베이스 서버가 동일한 인트라넷에, 동일한 물리적 서버에서도 마찬가지입니다. 그래서 나는 비동기를 사용함으로써 이익을 얻지 못한다고 생각하지만, 오히려 단점으로 고통 받고있다. 그 중 하나는 페이지가 개발 단계에서 아무런 예외도 보이지 않고, 디버깅하는 동안 수천 번 경험했다. 코드 줄을 기다리는 중 아무런 반응이없고 예외도없고 쉬지도 않습니다.
그래서 비동기/대기 패턴을 오용하거나 과도하게 사용합니까?