Identity クラス
Identity クラスは、アプリケーションのエンドユーザーを表します。CreateIdentity を使用して Identity のインスタンスを作成し、アプリケーションで使用します。
名前空間 : Microsoft.WindowsLive.Id.Client
アセンブリ : Microsoft.WindowsLive.Id.Client (microsoft.windowslive.id.client.dll 内)
構文
'宣言
Public Class Identity
public class Identity
public ref class Identity
public class Identity
public class Identity
解説
Identity オブジェクト インスタンスは、CreateInstance を呼び出してインスタンス化し、初期化された IdentityManager のインスタンス上で CreateIdentity を呼び出して作成します。
アプリケーションのパフォーマンスを向上させるために、アプリケーション内で IdentityManager の単一インスタンスを参照する変数を宣言し、グローバル スコープで参照できるようにします。CreateInstance を呼び出して IdentityManager のインスタンスを初期化するのは、アプリケーションで初めて必要になったときにします。
作成する Identity オブジェクト インスタンスは、IdentityManager のグローバル インスタンスを通じて認証サーバーと常に接続しています。IdentityManager インスタンスを表す変数がスコープ外になると、そこから作成された Identity オブジェクトは NULL となります。
継承階層
System.Object
Microsoft.WindowsLive.Id.Client.Identity
例
次の例は、Identity を使用し、ボタンのクリックに応答してユーザーを認証する方法を示しています。oId 変数は Identity のインスタンスを表しています。詳細については、「認証の実装」を参照してください。
//サインイン/サインアウト ボタンのクリック時のイベント ハンドラ。
private void buttonSignInOrOut_Click(object sender, EventArgs e)
{
//現時点でユーザーの認証が行われているかどうかを確認します。
if (!oID.IsAuthenticated)
{
try
{
//サインイン ダイアログ ウィンドウを表示して、ユーザーの認証を試行します。
if (oID.Authenticate())
{
currentUserName = oID.UserName;
}
else
{
MessageBox.Show("認証が失敗しました");
}
}
catch (WLLogOnException wlex)
{
//FlowUrl が定義されているかどうかを確認します。
if (wlex.FlowUrl != null)
{
//FlowUrl が定義されている場合、ユーザーを Web ページに誘導し、エラーを修正させます。
MessageBox.Show(wlex.ErrorString + wlex.FlowUrl.AbsoluteUri + "に移動し、エラーの原因となる状況を修正してください");
}
else
{
//FlowUrl が定義されていない場合は、単純に ErrorString を表示します。
MessageBox.Show(wlex.ErrorString);
}
}
}
else
{
//ユーザーが認証されている場合、ユーザーはサインアウトするつもりでした。ユーザーのサインアウトを試みます。
try
{
oID.CloseIdentityHandle();
currentUserName = "";
}
catch (WLLogOnException wlex)
{
//FlowUrl が定義されているかどうかを確認します。
if (wlex.FlowUrl != null)
{
//FlowUrl が定義されている場合、ユーザーを Web ページに誘導し、エラーを修正させます。
MessageBox.Show(wlex.ErrorString + wlex.FlowUrl.AbsoluteUri + "に移動し、エラーの原因となる状況を修正してください");
}
else
{
//FlowUrl が定義されていない場合は、単純に ErrorString を表示します。
MessageBox.Show(wlex.ErrorString);
}
}
}
UpdateDisplay();
}
スレッド セーフティ
この型の public static (Visual Basic ではShared) メンバーはすべてスレッド セーフです。インスタンス メンバーの場合はスレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
Windows Vista、Windows XP Professional Service Pack 2 (SP2)
対象プラットフォーム
Windows Vista、Windows XP Professional SP2、Windows XP Home Edition SP2
関連項目
参照
Identity メンバー
Microsoft.WindowsLive.Id.Client 名前空間
IdentityManager
WLLogOnException