2011-07-14 12 views
5

मैं इस तरह एक यूआरएल स्कीम है:एमवीसी नियंत्रक राउटर में वापस बुलबुले?

website.com/keywords 

और मैं भी विशिष्ट नियंत्रकों है:

website.com/controller/action 

कभी कभी कीवर्ड नियंत्रक यूआरएल की तरह एक बहुत भयानक लग रही है, या "किसी तरह का हो सकता है/यूआरएल/चीज़ी "उन पर। सभी कीवर्ड यूआरएल डेटाबेस में संग्रहीत किए जाएंगे और स्थिर सामग्री लौटाएंगे। जो मुझे करने में सक्षम होना पसंद है, उसके पास "कीवर्ड" नियंत्रक पहले है (यह केवल {*} का उपयोग करता है), और यदि डेटाबेस डेटाबेस में नहीं मिलता है, तो राउटर पर वापस जाएं, और चलो मिलान जारी है।

मुझे अब एक वर्कअराउंड मिला है जो सार्वभौमिक मिलान राउटर को बहुत अंत में रखता है, और उचित नियंत्रक को 302 रीडायरेक्ट करता है, लेकिन यह एक लंबा राउंड-ट्रिप समय है और यदि मैं पॉप कर सकता हूं तो जरूरी नहीं है बच निकलना।

+3

आप मार्ग में एक कस्टम बाधा डाल सकते हैं, जो एक सूची के खिलाफ मेल कर सकते हैं। उदाहरण के लिए, आप एक लुकअप भी कर सकते हैं, उदाहरण के लिए, बाधा में एक डेटाबेस - लेकिन जैसा कि सबकुछ रूटिंग इंजन के माध्यम से गुजर रहा है, मुझे यकीन नहीं है कि स्केलेबिलिटी पॉइंट ऑफ व्यू से बुद्धिमान है जब तक आप लुकअप को कुशलता से कैश नहीं करते। किसी भी मामले में एसओ पर बेहतर जवाब मिलने की संभावना है। – FinnNk

उत्तर

2

ऐसा नहीं है कि मैं इस पर पैर काम नहीं करना चाहता क्योंकि मुझे जवाब भी अच्छा लगेगा लेकिन मैंने इस विषय पर यह बुकमार्क किया है। custom route constraint

यदि आप लगभग आधा रास्ते नीचे जाते हैं तो आप देख सकते हैं कि अपना कस्टम मार्ग प्रदूषण कैसे बनाएं; बस लिस्टिंग 2 - NotEqualConstraint.cs पर फिर आप उन खोजशब्दों की एक कैश सूची में पास कर सकते हैं या केवल कस्टम रूट बाधा कीवर्ड की सूची में रख सकते हैं।

+1

हमने कैच-सब को नीचे रख दिया, क्योंकि हमें एहसास हुआ कि प्रति आगंतुक लगभग एक पेज हिट के लिए केवल जरूरी था, क्योंकि उसके बाद हम उचित मार्गों का उपयोग करने जा रहे हैं। फिर भी, जवाब है। –

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