2011-03-27 18 views
5

संभव डुप्लिकेट:
How to assign Profile values?एक ASP.NET वेब अनुप्रयोग में एक प्रोफाइल का उपयोग करें

मैं एक ASP.NET पुस्तक का कहना है कि अगर आप प्रोफ़ाइल का उपयोग नहीं कर पढ़ रहा हूँ जब आप कोई प्रोजेक्ट शुरू करते हैं तो वेब एप्लिकेशन का चयन करें। यह केवल वेब साइट के तहत चलाया जाता है।

क्या वेब एप्लिकेशन के लिए कोई विकल्प हैं? या आपको अपनी खुद की प्रोफाइल सिस्टम बनाने की ज़रूरत है।

+0

इस पोस्ट भी [http://stackoverflow.com/questions/426609/how-to-assign-profile-values] – jamiebarrow

उत्तर

8

यदि आप किसी वेब साइट के बजाय वेब एप्लिकेशन का उपयोग कर रहे हैं, तो आप प्रोफाइल प्रदाता का उपयोग कर सकते हैं, लेकिन आपके पीछे एएसपीएक्स पेज कोड से बॉक्स के बाहर Profile.MyProperty नहीं कर पाएंगे।

यह एक बड़ा सौदा नहीं है क्योंकि थोड़ा सा प्रयास करने के साथ आप कुछ ऐसा करने में सक्षम होंगे। Converting a Web Site Project to a Web Application Project में प्रदान करने वाला उदाहरण वेब प्रदाता के साथ प्रोफ़ाइल प्रदाता का उपयोग करने के तरीके पर एक अच्छा कूद बिंदु है।

ऊपर उल्लिखित लेख के परिवर्तित प्रोफाइल वस्तु संहिता अनुभाग संक्षेप करने के ProfileCommon instantiating करने के लिए अपने aspx कोड पर

public class ProfileCommon 
{ 
    public Teachers Teachers 
    { 
     get 
     { 
      return (Teachers) 
       HttpContext.Current.Profile.GetPropertyValue("Teachers"); 
     } 
     set 
     { 
      HttpContext.Current.Profile.SetPropertyValue("Teachers",value); 
     } 
    } 
} 

फिर एक ProfileCommon वर्ग बनाने के पीछे अब आप क्या कर सकते हैं

ProfileCommon Profile = new ProfileCommon(); 
protected void Button1_Click(object sender, EventArgs e) 
{ 
    Teachers teachers = new Teachers(); 
    teachers.Add(new Teacher("scott")); 
    teachers.Add(new Teacher("bob")); 
    teachers.Add(new Teacher("paul")); 

    Profile.Teachers = teachers;  
} 

एक वैकल्पिक प्रत्येक पृष्ठ के लिए एक क्षेत्र के रूप में इसे और इसकी विधियों को स्थिर करना होगा और केवल Profile.Teachers

कोड के पीछे से क्लास गुणों को कॉल करना होगा 0
public static class Profile 
{ 
    public static Teachers Teachers 
    { 
     //...... 
    } 
} 

यह एक बड़ा फायदा नहीं है, लेकिन आपके कोड को एएसपी.नेट वेब साइट प्रोजेक्ट के समान ही बनाता है।

संपादकीय टीका जवाब
दो परियोजना प्रकार के बीच मुख्य अंतर हैं, लेकिन अपनी परियोजनाओं के लिए मैं वेब अनुप्रयोगों पसंद करते हैं के लिए प्रासंगिक नहीं। मेरे पास पूर्वाग्रह है क्योंकि वेब साइट प्रोजेक्ट्स के लिए वेब अनुप्रयोग परियोजनाओं के लिए टीएफएस बिल्ड मैनेजर के लिए बिल्ड प्रोफाइल बनाना बहुत आसान है। इसके अलावा ऐसा लगता है जैसे माइक्रोसॉफ्ट ने वेब साइट परियोजनाओं पर जोर दिया और फिर वेब अनुप्रयोग परियोजनाओं के पक्ष में उनसे दूर समर्थन किया। सार्वजनिक वर्ग ProfileCommon: ProfileBase

+0

आप शायद ProfileCommon जैसे, ProfileBase से प्राप्त करना चाहते देखें – Patrik

संबंधित मुद्दे