忍者ブログ

技術メモ

Home > ブログ > > [PR] Home > ブログ > ASP > ◆プロファイルの設定

◆プロファイルの設定

[プロファイルの呼出]
ASP.NET 2.0ではユーザー固有の情報(プロファイル)を管理するための
「プロファイル」機能が導入された

ユーザーごとに異なるテーマを適用し、
パーソナライズされたページを見せたりといった機能も簡単に実現
※匿名ユーザの場合は、[匿名ユーザの設定]が必要になります

1. プロファイル・プロパティを定義する
Web.config上に定義
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <profile enabled="true">
      <properties>
        <add name="param" type="String" allowAnonymous="true" defaultValue="" readOnly="false"/>
      </properties>
    </profile>
  </system.web>
</configuration>

2.値の取得・設定
 string aaa = Profile.param;
 Profile.param = "bbb";

※実際にプロファイルがデータベースに保存されている様子を自分の目で確認したければ、
仮想ディレクトリ直下の「App_Data」フォルダから「ASPNETDB.mdf」を開いてみよう。
aspnet_Profileテーブルを開くと、以下のようにユーザーごとのプロファイル情報が
データベースに保存されていることが確認できるはずだ。


[匿名ユーザの設定]
1. 匿名ユーザーの識別を有効にする
匿名ユーザーの識別機能(匿名識別)を有効化
<?xml version="1.0"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <system.web>
    <anonymousIdentification enabled="true" />
    ……中略……
  </system.web>
</configuration>

2.プロファイルを削除する
匿名ユーザはCookieで紐付けられる為、クライアント側でCookieを削除すると
プロファイルとの関連付けがなくなってしまいゴミとして残ってしまう
このゴミプロファイルは以下のコマンドで定期的に掃除する

SqlProfileProvider provider =
  (SqlProfileProvider)Profile.Providers["AspNetSqlProfileProvider"];
provider.DeleteInactiveProfiles(
  ProfileAuthenticationOption.Anonymous, DateTime.Now.AddMonths(-3));

http://www.atmarkit.co.jp/fdotnet/dotnettips/483aspprofile1/aspprofile1.html
http://www.atmarkit.co.jp/fdotnet/dotnettips/486aspprofile2/aspprofile2.html

 


PR

Comment0 Comment

Comment Form

  • お名前name
  • タイトルtitle
  • メールアドレスmail address
  • URLurl
  • コメントcomment
  • パスワードpassword

PAGE TOP