2010-02-20 20 views
16

मेरे द्वारा लक्षित कार्रवाई को https की आवश्यकता है। मेरे पास पहले से एक फ़िल्टर है जो http के माध्यम से अनुरोध के दौरान https पर रीडायरेक्ट करता है, लेकिन मैं शुरुआत से ही https के माध्यम से अनुरोध भेजना पसंद करूंगा।RedirectToAction का उपयोग करते समय मैं प्रोटोकॉल कैसे सेट करूं?

संपादित

डैरिन से एक जवाब है, जहां वह पूछा क्यों मैं वैसे भी http द्वारा यह पहली कार्रवाई फोन (उसे किसी और अब अद्यतन) नहीं था। उसके पास एक अच्छा बिंदु था और मैंने अभी कुछ लिंक अपडेट किए हैं। यह मेरी समस्या को ठीक करने का सबसे आसान और सुरक्षित तरीका था।

एक बार मैं समय Çağdaş जवाब मैं क्योंकि मैं कुछ अन्य लोगों के लिए ब्याज की thats लगता है, सही जवाब के रूप में इस का उपयोग करेगा मूल्यांकन करने के लिए (... मेरे भविष्य में भी शामिल है) को खोजने के

उत्तर

14

मैं अगर तुम RedirectToAction का उपयोग करना चाहिए पता नहीं है, लेकिन एक UrlHelper और नियंत्रक के Redirect विधि आप यह कर सकते हैं के साथ:

public ActionResult SomeAction() { 
    UrlHelper u = new UrlHelper(this.ControllerContext.RequestContext); 
    return Redirect(u.Action("actionName", "controllerName", null, "https")); 
} 
+0

ईमानदार होने के लिए मुझे रीडायरेक्ट और रीडायरेक्ट टोएक्शन के बीच का अंतर पता नहीं है। शायद टेम्पैडाटा का उपयोग होने पर एक अंतर होता है। मुझे यह कोशिश करनी है। अब तक सही दिखता है। –

+0

@ मैल्कम फ्रीक्सनर खैर, अंतर यह है कि उनमें से एक ('रीडायरेक्ट') यूआरआई को पैरामीटर के रूप में लेता है, जबकि दूसरा" कुछ मूल्य शब्दकोश "लेता है (स्रोत कोड उद्धृत करता है)। और, TempData के साथ कोई समस्या नहीं होनी चाहिए, क्योंकि वे दोनों अंत में उसी तरह रीडायरेक्ट करते हैं। –

+2

यह करना वास्तव में एक अजीब बात है, लेकिन यह काम करता है। निश्चित रूप से बहुत से लोगों को एक सुरक्षित गाड़ी पर उड़ान भरना पड़ता है और फिर चेकआउट पूरा होने पर वेनिला http पर वापस फ़्लिप करना पड़ता है। मुझे आश्चर्य है कि नियमित रीडायरेक्ट टॉक्शन फ़ंक्शन के साथ कोई विकल्प नहीं है। –

0

आप एक समय लग सकता है this article पर देखें जो रूटिंग स्तर पर HTTPS को सक्षम करने का तरीका दिखाता है।

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

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