次の方法で共有


方法: RIA Services でプロファイルを有効にする

ここでは、以前に認証を有効にした場合に WCF RIA サービス ソリューションでプロファイルを有効にする方法について説明します。プロファイルを使用すると、ユーザーのプロパティを取得して保存できます。RIA サービス のプロファイルは、ASP.NET のプロファイル フレームワークに基づいて作成されます。ASP.NET プロファイルの詳細については、「ASP.NET プロファイル プロパティの概要」を参照してください。

ユーザー プロファイルのプロパティは、ユーザーが認証されてからのみ取得または保存できます。サーバー プロジェクトとクライアント プロジェクトを認証用に構成する方法については、「方法: RIA Services で認証を有効にする」を参照してください。

サーバー プロジェクトを構成するには

  1. サーバー プロジェクトで Web.config ファイルを開きます。

  2. <system.web> セクションに <profile> 要素を追加します。

  3. <profile> 要素にプロファイル プロパティを追加します。

    次の例は、プロファイルを有効にし、FriendlyName という名前のプロパティを定義する方法を示しています。

    <system.web>
      <authentication mode="Forms"></authentication>
      <profile enabled="true">
        <properties>
          <add name="FriendlyName"/>
        </properties>
      </profile>
    </system.web>
    
  4. 認証サービスの User クラスを含むファイルを開きます。

  5. User クラスで、Web.config ファイルに追加したすべてのプロファイル プロパティを追加します。

    次の例は、Web.config ファイルに追加したプロパティと一致する FriendlyName という名前のプロパティを追加する方法を示しています。

    Public Partial Class User
        Inherits UserBase
    
        Private _FriendlyName As String
    
        Public Property FriendlyName() As String
            Get
                Return _FriendlyName
            End Get
            Set(ByVal value As String)
                _FriendlyName = value
            End Set
        End Property
    End Class
    
    public partial class User : UserBase
    {
        public string FriendlyName { get; set; }
    }
    

クライアント プロジェクトからプロファイル プロパティにアクセスするには

  1. Silverlight クライアント プロジェクトで分離コード ページを開きます。

  2. 分離コード ページで、WebContext の現在のインスタンスの User オブジェクトのプロファイル プロパティを設定または取得します。

    次の例は、分離コード ファイルでプロファイル プロパティを設定する方法を示しています。

    WebContext.Current.User.FriendlyName = "Mike"
    
    WebContext.Current.User.FriendlyName = "Mike";
    
  3. XAML で WebContext オブジェクトを使用できるようにする場合は、ルート visual を作成する前に、Application.Startup イベントのアプリケーション リソースに現在の WebContext インスタンスを追加します。

    次の例は、アプリケーション リソースとして WebContext インスタンスを追加する方法を示しています。

    Private Sub Application_Startup(ByVal o As Object, ByVal e As StartupEventArgs) Handles Me.Startup
        Me.Resources.Add("WebContext", WebContext.Current)
        Me.RootVisual = New MainPage()
    End Sub
    
    private void Application_Startup(object sender, StartupEventArgs e)
    {
        this.Resources.Add("WebContext", WebContext.Current);
        this.RootVisual = new MainPage();
    }
    

    宣言構文を使用して、プロファイル プロパティを取得できます。次の例は、XAML でプロファイル プロパティを取得する方法を示しています。

    <TextBlock Text={Binding Source={StaticResource WebContext}, Path=User.FriendlyName}"/>
    

参照

処理手順

チュートリアル: Silverlight ナビゲーション アプリケーションでの認証サービスの使用
チュートリアル: Silverlight ビジネス アプリケーションでの認証サービスの使用