2012-02-19 12 views
5

Asp.net会員&プロファイルプロバイダの使用:メンバーシップユーザーIDを使用してユーザープロファイルを取得できますか?

は、私は彼らの会員ユーザーIDの代わりに、自分のユーザー名を使用してユーザープロファイルを取得できますか?

私はユーザーIDとないユーザー名を持っている場合、私は

Dim MembershipUser As MembershipUser = Membership.GetUser("UserID") 
    Dim Profile As Profile = Profile.GetProfile(MembershipUser.UserName) 

の代わりに次の2行のコードを記述しなければならないので、私が尋ねる理由は、プロファイル=プロファイルとして

薄暗いプロフィール.GetProfile( "UserID")

これはパフォーマンスに影響しますか?私のデザインは悪いですか?何か不足していますか?

ご注意:私は、私は次のコードを使用してログインしているユーザーの現在取得できることを承知しています:HttpContext.Current.User.Identity.Nameを

答えて

3
Guid userId = Membership.GetUser().ProviderUserKey as Guid; 

あなたが後にしているユーザーIDを与えます。 asp.netアプリケーションを簡単にするために、私は通常、ユーザーがログオンするとセッションに入る。

asp.netメンバーシップテーブルには、アプリケーションごとに固有のユーザー名があります。また、1つのデータベースに複数のアプリケーションを定義することができるため、Profile.GetProfile(string userName)呼び出しで異なるアプリケーションからプロファイルを返すこともできます。これはGetProfile(userName)が存在しないため、あなた自身で実装するのは悪い考えです。

+0

WebProfileBuilder 1.3を使用しているので、私はASP.Net Webアプリケーションを作成しています。ウェブサイトではありません。 WebProfile.GetProfile(UserName)は使用できますが、IDを渡すメソッドはありません。私はそれをカスタマイズする必要がありますか? – Haris

+0

ビジュアルスタジオで新しいウェブサイトを作成してから、いくつかのプロパティ、すなわちを追加した場合。その後、次のコードを使用して、任意のユーザーのポストコード値を取得できます。Profile.GetProfile( "Username")。PostalCode。では、なぜGetProfile(userName)が存在しないのか、それはあなた自身で実装するのが悪い考えだと言っているのですか? – Haris

+0

あなたの質問から、あなたが実際に望んでいるものは何であるかはっきりしていません...バニラasp.net会員のasp.netアプリを簡単に見て、私はこれらのセリエーに質問しています。私のデザインは悪いですか?私は何かを逃していますか? – b0rg

関連する問題