2012-02-19 25 views
5

एएसपीनेट सदस्यता का उपयोग & प्रोफाइल प्रदाता:क्या उनकी सदस्यता उपयोगकर्ता आईडी का उपयोग कर उपयोगकर्ता प्रोफ़ाइल को पुनर्प्राप्त करना संभव है?

क्या मैं उनके उपयोगकर्ता नाम के बजाय अपनी सदस्यता उपयोगकर्ता आईडी का उपयोग कर उपयोगकर्ता प्रोफ़ाइल पुनर्प्राप्त करने में सक्षम हूं?

कारण मैं पूछ है मैं कोड की निम्न दो पंक्तियों

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

के बजाय लिखने के लिए होता है अगर मैं UserID और नहीं प्रयोक्ता नाम है क्योंकि:

मंद प्रोफाइल के रूप में प्रोफाइल = प्रोफ़ाइल .GetProfile ("UserID")

क्या यह प्रदर्शन को प्रभावित करेगा? क्या मेरा डिजाइन खराब है? क्या मैं कुछ भूल रहा हूँ?

कृपया ध्यान दें: मुझे पता है कि मैं वर्तमान निम्नलिखित कोड का उपयोग कर उपयोगकर्ता द्वारा प्रवेश प्राप्त कर सकते हैं हूँ: HttpContext.Current.User.Identity.Name

उत्तर

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

आप उपयोगकर्ता पहचान है कि आप के बाद कर रहे हैं दे देंगे । एएसपीनेट ऐप में सादगी के लिए मैं सामान्य रूप से सत्र में चिपक जाता हूं जब उपयोगकर्ता लॉग ऑन करता है।

एएसपीनेट सदस्यता तालिका में प्रति एप्लिकेशन अद्वितीय उपयोगकर्ता नाम है, और एक डेटाबेस में एकाधिक अनुप्रयोगों को परिभाषित करना संभव है क्योंकि यह कॉल के लिए भी संभव होगा प्रोफ़ाइल। गेटप्रोफाइल (स्ट्रिंग उपयोगकर्ता नाम) विभिन्न अनुप्रयोगों से प्रोफ़ाइल लौटने के लिए । यही कारण है कि कोई GetProfile (userName) नहीं है और यह स्वयं को लागू करने का एक बुरा विचार है।

+0

मैं एक एएसपी.Net वेब एप्लिकेशन बना रहा हूं, न कि वेबसाइट पर, इसलिए मैंने WebProfileBuilder 1.3 का उपयोग किया है। (जैसा कि मुझे वास्तव में ऐसा करने का कोई अन्य तरीका नहीं दिख रहा है?) ... मैं सफलतापूर्वक उपयोग कर सकता हूं: WebProfile.GetProfile (UserName) लेकिन आईडी में पास करने की कोई विधि नहीं है। क्या मुझे इसे अनुकूलित करना है? – Haris

+0

यदि आप विजुअल स्टूडियो में एक नई वेबसाइट बनाते हैं और फिर कुछ गुण जोड़ें यानी जोड़ें। फिर आप निम्न कोड का उपयोग कर किसी भी उपयोगकर्ता के लिए उस पोस्ट कोड मान को पुनर्प्राप्त कर सकते हैं: प्रोफ़ाइल। गेटप्रोफाइल ("उपयोगकर्ता नाम")। पोस्टलकोड। तो आप क्यों कह रहे हैं कि 'यही कारण है कि कोई गेटप्रोफाइल नहीं है (उपयोगकर्ता नाम) और यह एक बुरा विचार है जो इसे स्वयं लागू कर रहा है? – Haris

+0

यह आपके प्रश्न से स्पष्ट नहीं है कि वास्तव में आप वास्तव में क्या चाहते हैं ... वेनिला एएसपीनेट सदस्यता के साथ मेरे एएसपीनेट ऐप पर एक संक्षिप्त नज़र डालने के बाद मैं प्रश्नों की इन धाराओं से पूछ रहा था: "क्या यह प्रदर्शन को प्रभावित करेगा? मेरा डिज़ाइन खराब है? क्या मुझे कुछ याद आ रहा है? " – b0rg