2016-04-29 12 views
0

Azure ADとの接続に成功しました(少なくとも、私はこれを望み、詳細は分かりません)。ユーザーの詳細を取得しようとしています。ステップスルーデバッガは次の行の上には進まない。しかし:Idでユーザーを取得しても返信しません。

IUser result = azureDirectoryClient.Users.GetByObjectId(someId).ExecuteAsync().Result; 

私はここまでだ、エラーがスローされていないと機能が戻らない - 何それは私に教えてくれありませんか?問題をさらにデバッグするにはどうすればよいですか?

+0

ここで、非同期リターンを扱うコードはありますか? – ChrisBint

答えて

0

を使用して、どこかの結果を待つことを忘れてはいけないがキーワードを待って、またこの方法は、非同期であることを指定するので、それはあなたがこれをデバッグするとき、あなたは何をキャッチしない非同期

public async Task<ActionResult> SomeAction() 
{ 
    IUser result = await azureDirectoryClient.Users.GetByObjectId(someId).ExecuteAsync(); 
    return View(result); 
} 
1

実行します:

try 
    { 
    IUser result = azureDirectoryClient.Users.GetByObjectId(objectId).ExecuteAsync().Result; 
    } 
    catch(exception e) 
    { 
console.white(e.message) 
    } 

どのようにAzure ADに接続しますか?正確なAccesstokenを取得してください:

public static string GetTokenForApplication() 
     { 
      AuthenticationContext authenticationContext = new AuthenticationContext(Constants.AuthString, false); 
      // Config for OAuth client credentials 
      ClientCredential clientCred = new ClientCredential(Constants.ClientId, Constants.ClientSecret); 
      AuthenticationResult authenticationResult = authenticationContext.AcquireToken(Constants.ResourceUrl, clientCred); 
      string token = authenticationResult.AccessToken; 
      return token; 
     } 
ActiveDirectoryClient activeDirectoryClient = new ActiveDirectoryClient(new Uri(https://graph.windows.net, TenantId), 
       async() => await GetTokenForApplication()); 
関連する問題