2009-02-19 9 views
20

एएसपी.नेट एमवीसी का उपयोग करके, प्रत्येक पृष्ठ रीफ्रेश के साथ घूर्णन वाले विज्ञापन-ब्लॉक को आप कैसे कार्यान्वित करेंगे?मैं एएसपी.नेट एमवीसी में घूर्णन विज्ञापन ब्लॉक कैसे बना सकता हूं?

क्या आपको लगता है कि उनके पास एक सत्र चर है जिसके साथ हम वर्तमान में कौन सी विज्ञापन इंडेक्स देख रहे हैं और प्रत्येक अनुरोध या कुछ और चक्र?

+0

मैं कुछ भी प्रश्न के साथ गलत नहीं दिख रहा। –

+0

@ [किंगनेस्टर]: रीवार्डिंग उत्कृष्ट है, धन्यवाद; अब यह एक सामान्य सवाल है। आपका महल अब रेत की बजाय पत्थर से बना है। –

+2

रेडकास्टल्स के साथ कुछ भी गलत नहीं है, पंक बच्चों के अलावा उन्हें दूसरों के दिन को बर्बाद करने के लिए नीचे लात मारने के अलावा। – ceejayoz

उत्तर

16

मैं OpenX, DART, Google Ad Manager, RightMedia, Rubicon, या कुछ अन्य विज्ञापन प्रबंधक का प्रयोग करेंगे।

हालांकि, अगर मैं इसे अपने आप एक व्यायाम के रूप निर्माण करना चाहता था, मैं होगा:

  1. विज्ञापनों
  2. मेरी आधार नियंत्रक में एक डेटाबेस तालिका बनाएँ, ViewData
  3. में एक यादृच्छिक विज्ञापन का चयन आपके मास्टर पृष्ठ के लिए एक आंशिक दृश्य जोड़े विज्ञापन
  4. [सबसे महत्वपूर्ण बात] का प्रयोग करें फिल Haack के MVC शैली "donut caching"
के संस्करण प्रस्तुत करना

यह वही दृष्टिकोण है जिसका उपयोग आप साइक्लेड उद्धरण, यादृच्छिक रूप से प्रदर्शित उपयोगकर्ता या किसी अन्य यादृच्छिक सामग्री को प्रदर्शित करने के लिए करेंगे जो आप प्रत्येक पृष्ठ पर प्रदर्शित करना चाहते हैं।

1

तुम सिर्फ एक यादृच्छिक संख्या उत्पन्न कर सकता है और विज्ञापन के प्रदर्शित करना चाहते हैं के लिए एक सरणी कुंजी के रूप में उपयोग, लेकिन आप भी प्रदर्शन को सुनिश्चित करने के लिए सक्षम नहीं होगा और यह कई समस्याओं का कारण होता है जब यह पैसे के आदान-प्रदान के लिए आता है । इस उद्देश्य के लिए बनाया गया एक ऐप OpenX है। यह वास्तव में गहराई से आंकड़े प्रदान करता है और यह आपको यह निर्धारित करने की अनुमति देता है कि प्रत्येक विज्ञापन को कितना प्रदर्शित किया जाना चाहिए ect। इसकी बहुत शक्तिशाली, कई कॉमर्शियल वेबसाइटें इसे अपने विज्ञापन का प्रबंधन करने के लिए नियोजित करती हैं।

+0

यदि आप कई बार स्टैक ओवरफ्लो रीफ्रेश करते हैं, तो आप प्रत्येक रीफ्रेश के उसी क्रम में चक्र देखते हैं। – KingNestor

+0

+1 - मुझे ओपनएक्स का विचार पसंद है, लेकिन मुझे यह देखने में दिलचस्पी होगी कि क्या कुछ के .NET संस्करण हैं :-) – WestDiscGolf

+0

ओपनएक्स बहुत अच्छा है क्योंकि यह आपके लिए सबकुछ प्रबंधित करता है! आपके सर्वर पर कोई अतिरिक्त लोड नहीं, वास्तव में शक्तिशाली आंकड़े, आपको यह प्रबंधित करने की अनुमति देता है कि प्रत्येक विज्ञापन कितना दिखाया जाता है और जब ect। आप वास्तव में इसे अपने सर्वर पर स्थापित नहीं करते हैं, वे सबकुछ होस्ट करते हैं। – Sam152

0

मुझे एक भारित विज्ञापन नियंत्रण के लिए एमवीसी में कुछ लिखना पड़ा जो संभवतः एक ही विज्ञापन को पंक्ति में दो बार नहीं दिखाता था और जल्दबाजी में मैं एक भयानक कोड के साथ समाप्त हुआ जो आपके लिए प्रेरणा के रूप में काम कर सकता है ।

मुझे यकीन है कि ऐसा करने के कई बेहतर तरीके हैं (और मुझे पहले से ही ऐसे मामलों को पता है जहां यह डुप्लिकेट करने की अनुमति देता है, लेकिन जब मैंने इसे खर्च नहीं किया, तो मैंने नौकरी की।

public List<Ad> GetRandomWeightedAds() 
    { 
     /* Generate random order list of ads with duplicates for ViewsPerRotation */ 
     List<Ad> returnList = GetAllAds().SelectMany(s => Enumerable.Repeat(s, s.ViewsPerRotation)).OrderBy(s => Guid.NewGuid()).ToList(); 
     for (int i = 0; i < returnList.Count - 1; i++) /* Compare all but the last element against subsequent element */ 
     { 
      if (returnList[i].Id == returnList[i + 1].Id) 
      { 
       /* If next to an identical element try and find a new spot for the subsequent element */ 
       for (int j = 0; j < returnList.Count; j++) 
       { 
        if (returnList[j].Id != returnList[i].Id /* Don't switch identical element back into same pos*/ 
         && (j<i || j == 0 || j-1 == i || returnList[i].Id != returnList[j - 1].Id) /* When moving before current 'i', don't move into a place after an identical element */ 
         && (j<i || j == returnList.Count - 1 || j + 1 == i || returnList[i].Id != returnList[j + 1].Id)) /* When moving before current 'i', don't move into a place before an identical element */ 
        { 
         returnList[i] = returnList[j]; 
         returnList[j] = returnList[i+1]; /* returnList[i+1] == returnList[i] */ 
         break; 
        } 
       } 
      } 
     } 
     return returnList; 
    } 
+0

बस ध्यान दिया कि आप हर बार एक ही चक्र चाहते हैं। आपको अपनी पोस्ट में व्यवहार को स्पष्ट करना चाहिए। मैं देखूंगा कि मेरे पास कुछ कोड है जो मैं पोस्ट कर सकता हूं। –

+0

मैं सिर्फ पोर्टमैन के जवाब का पालन करता हूं [http://stackoverflow.com/questions/563706/how-do-i-create-rotating-ad-blocks-in-asp-net-mvc-like-stackoverflow-does/586052 # 586052] और स्थिति बनाए रखने के लिए सुझाए गए कुकीज़ या सत्र चर का उपयोग करें। –

0

निम्नलिखित ब्लॉग विज्ञापन रोटेटर कार्यान्वयन के साथ शुरू करने के लिए एक अच्छा सिर देंगे।

1) निम्नलिखित एएसपी.नेट में है लेकिन अभी भी पूरी तरह से jQuery आधारित और सरल है।

http://dongavipul.blogspot.in/2011/02/jquery-adrotator-like-aspnet-adrotator.html

2) निम्नलिखित विज्ञापन रोटेटर के लिए सहायक विधि कार्यान्वयन देता है।

http://weblogs.asp.net/rashid/archive/2009/04/20/adrotator-for-asp-net-mvc.aspx

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

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