में मैजिक स्ट्रिंग्स मेरे पास डेस्कटॉप सॉफ्टवेयर विकास में पृष्ठभूमि है और मैं एएसपी.नेट एमवीसी सीखने के साथ शुरुआत कर रहा हूं।एएसपी.नेट एमवीसी
if (!Request.IsAuthenticated)
return RedirectToAction("Login", "Account");
दूसरे शब्दों में, उपयोगकर्ता के लिए "/ खाता/के लिए लॉग इन" अनुप्रेषित:
मेरा डिफ़ॉल्ट HomeController में मैं सूचकांक कार्रवाई जो कोड है कि इस तरह दिखता है है है। खाता नियंत्रक। लॉगिन कार्रवाई तब उपयोगकर्ता को संभाल लेगी और उसे सफलतापूर्वक लॉग इन करने के बाद उसे होमकंट्रोलर पर वापस भेज देगा।
यह कोड मुझे गंध करता है, शायद इसलिए कि मैं डेस्कटॉप सॉफ़्टवेयर में चीजों को अलग-अलग करने का आदी हूं। अगर मैं लॉगिन क्रिया का नाम "लॉगऑन" में बदलूं तो क्या होगा? क्या होगा अगर मैं खाता नियंत्रक को पूरी तरह से हटा दूं और इसे किसी और चीज़ से बदल दूं? मैं एक नई बग पेश करूंगा लेकिन मुझे कंपाइलर त्रुटियां नहीं मिलेंगी, और मेरे यूनिट परीक्षण शायद इसे पकड़ नहीं पाएंगे। चूंकि मैंने नियंत्रक और क्रिया नाम निर्दिष्ट करने के लिए स्ट्रिंग का उपयोग किया है, इसलिए रीफैक्टरिंग और रीडिज़ाइनिंग में पूरे स्थान पर कोड तोड़ने की अधिक क्षमता है।
मैं चाहते हैं क्या कुछ इस तरह है:
if (!Request.IsAuthenticated)
return RedirectToAction(() => AccountController.Login);
हालांकि मुझे यकीन है कि अगर यह है कि संभव है नहीं कर रहा हूँ या अगर यह यह करने के लिए सबसे अच्छा तरीका है।
क्या मैं बेवकूफ हूं, या अन्य लोगों को भी यही समस्या है? इसके आसपास पाने के लिए आप क्या करते हैं?
वाह कि इतने उपयोगी है। मैं चाहता हूं/आशा करता हूं कि वे भविष्य में इसे सीधे एमवीसी में एकीकृत करें। मैं नहीं देखता कि इन दिनों इतने सारे जादू तारों का उपयोग कैसे किया जा सकता है। – DLeh