2017-12-04 57 views
-2

これをasync/awaitでどうすれば両方の条件が一緒に評価されるのですか? ここに私が現在取り組んでいるコードがあります。条件でResultを使用してみましたが、デッドロックが発生しました。async await in condition

  else if (!string.IsNullOrEmpty(customer)) 
      { 
       var resp = await _securityService.GetCustomerShiptoAuthorizationAsync(User.Identity.Name, customer, ship); 

       response = Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Invalid Username, Password, Customer or Ship."); 
      } 

これは、非同期/待機と条件が一緒に評価される前のコードです。

  else if (!string.IsNullOrEmpty(customer) && !_securityService.GetCustomerShiptoAuthorization(
       User.Identity.Name, 
       customer, 
       ship).IsAuthorized) 
      { 

       response = Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Invalid Username, Password, Customer or Ship."); 
      } 

答えて

1

awaitコールの前後にカッコを入れます。

else if (!string.IsNullOrEmpty(customer) && !(await _securityService.GetCustomerShiptoAuthorizationAsync(User.Identity.Name, customer, ship).IsAuthorized)) 
{ 
    response = Request.CreateErrorResponse(HttpStatusCode.Forbidden, "Invalid Username, Password, Customer or Ship."); 
} 
+0

でした。ありがとうございました! – user3582849