1

私が使用している 2 つの Web アプリケーションは、ASP.NET メンバーシップを使用しており、データベースでこのプロパティ名/値の保存方法を使用するユーザー情報用の領域がそれぞれにあります。

次に例を示します。

プロパティ名値

publicEmail:S:0:19:yahooIM:S:19:0:timezone:S:19:2:commonName:S:21:4:birthdate:S:25:81:signatureFormatted:S:106:0:gender:S:106:1:fontsize:S:107:1:signature:S:108:0:dateFormat:S:108:15:enableEmoticons:S:123:4:webLog:S:127:0:enablePostPreviewPopup:S:127:5:location:S:132:12:bio:S:144:0:webAddress:S:144:0:interests:S:144:0:icqIM:S:144:0:aolIM:S:144:0:language:S:144:5:occupation:S:149:0:msnIM:S:149:0:

プロパティ値

someemailhere@here.com-6Asia<?xml version="1.0" encoding="utf-16"?>
<dateTime>0001-01-01T00:00:00</dateTime>20ddd, MMM d yyyyTrueFalseTest Testing-US

名前の値は、プロパティ値の文字列でグラブを開始する長さと終了するタイミングを示しますが、これらを配列などに分割する既存の関数はありますか?

ありがとう!

4

2 に答える 2

2

これがどのように機能するかは、「Web サイト」または「Web アプリケーション」プロジェクト タイプを使用しているかどうかによって異なります。通常の asp.net Web サイト プロジェクトを使用している場合は、動的に生成された Profile オブジェクトを使用して、ユーザー プロパティを取得できます。

ただし、アプリケーションが MVC または Web アプリケーション プロジェクトの場合は、独自のプロファイル オブジェクトを作成する必要があります。Web Profile Builderを入手することをお勧めします。このツールは、プロファイル データを取得するために必要な ProfileCommon オブジェクトを作成します。

一般的に、asp.net で提供されているプロファイル プロバイダー システムは、実際のユーザー情報 (ユーザーが使用している種類のもの) を保存するには非常に恐ろしいものであることが、何度も暴露されてわかってきました。プロファイル プロバイダー メカニズムは、「常に詳細を表示する」や「緑色の背景を好む」などのユーザー設定 (通常は個人用設定と呼ばれるもの) に最適です。その理由は、プロファイル システムは、1 人のユーザーの要求内でプロファイル データに簡単にアクセスできるようにするだけだからです。複数のユーザーのプロファイルから読み取る必要がある管理ツールがある場合、パフォーマンスが急速に低下し、プロファイル データを取得するのが実際には非常に困難であることがわかります。

これらの理由から、そこに保存している種類のデータにはプロファイル システムを使用しないことを検討することをお勧めします。この特定の種類の情報を保存およびフェッチするために、独自のテーブルとオブジェクトをローリングする方がはるかに優れています。ただし、一度に複数のユーザーのデータにアクセスする必要がない場合は、組み込みのプロファイルで問題ありません。

于 2009-10-06T22:41:26.410 に答える
1

ASP.NETプロファイルシステムを参照しているようです。

aspxページのコードビハインド内では、、などを使用Profile.publicEmailProfile.yahooIMます。それを解析する自動生成されたクラスがあります。詳細については、リンク先の記事を参照してください。

于 2009-10-06T19:06:23.497 に答える