2010-12-29 16 views
6

में मैं Global.asax के Application_Error विधि, एक त्रुटि तब होती है जब मैं त्रुटि पृष्ठ पर उपयोगकर्ता हस्तांतरण करने के लिए निम्नलिखित कोड का उपयोग में एक कस्टम त्रुटि हैंडलर है: बिनाServer.Transfer Global.asax

Server.Transfer("/Error/"); 

हालांकि अपवाद "/ त्रुटि/ के लिए त्रुटि को क्रियान्वित बच्चे अनुरोध" के साथ वास्तविक पृष्ठ नाम टूट जाता है इसके बाद के संस्करण कोड को निर्दिष्ट।

तो अगर मैं Server.Transfer("/Error/Default.aspx") का उपयोग यह कोई समस्या नहीं के साथ ठीक काम करता है।

इसके अलावा का उपयोग कर Response.Redirect("/Error/") भी ठीक काम करता है, लेकिन हम तो उन बस मूल हमलावर यूआरएल तक पहुँचने पुन: प्रयास करना पृष्ठ ताज़ा कर सकते जब त्रुटि पृष्ठ प्रदर्शित किया जाता है पता बार में प्रदर्शित URL बनाए रखने के लिए Server.Transfer का उपयोग कर रखना चाहते हैं। अगर किसी को भी कैसे वास्तविक aspx पृष्ठ का नाम निर्दिष्ट किए बिना काम कर Server.Transfer विधि प्राप्त करने पर टिप्पणी कर सकते

आभारी होंगे।

बहुत धन्यवाद।

+0

बिना एक नियमित रूप से पृष्ठ पर एक विशेष पृष्ठ काम Server.Transfer करता है? यदि सर्वर। ट्रांसफर पृष्ठ का नाम छुपाता है, तो स्थानांतरण में इसे शामिल करने में समस्या क्यों शामिल है? – Doobi

+0

मैं जानता हूँ कि तुम क्या मतलब है, वास्तव में कोड में पृष्ठ नाम को प्रभावित नहीं करेगा कैसे अंत उपयोगकर्ताओं इसे देख भी शामिल है, मैं तो बस हमारे पथ के सभी के रूप में पूर्णता का एक सा तलाश करने के लिए स्थिरांक के रूप में घोषित कर रहे हैं कोशिश कर रहा था और सोचा था कि Server.Transfer यहां सम्मेलन का पालन कर सकते हैं। मुझे लगता है कि मुझे इस उदाहरण के लिए अपवाद बनाना होगा और पूरा पथ शामिल करना होगा। धन्यवाद। – Maya

उत्तर

13

Server.Transfer एक संसाधन है कि उत्पादन की जरूरत दे देंगे करने के लिए वास्तविक, आभासी पथ की जरूरत है। यह आईआईएस के माध्यम से नहीं जाता है कि यह पता लगाने के लिए कि वेबसाइट का डिफ़ॉल्ट दस्तावेज़ क्या है, इसलिए इसका कोई संकेत नहीं है कि आपका मतलब "/ त्रुटि /" है जब तक यह वास्तविक फ़ाइल नाम न हो।

Response.Redirect काम करता है क्योंकि वह उस सापेक्ष यूआरएल (/ त्रुटि /) के साथ ब्राउज़र में 'स्थानांतरित' परिणाम भेज रहा है और जब ब्राउज़र/त्रुटि/के लिए नया अनुरोध करता है, तो आईआईएस इसे पहले संभालता है, और डिफ़ॉल्ट दस्तावेज़ लागू करता है सेटिंग्स।

+0

यह समझ में आता है, बहुत बहुत धन्यवाद। – Maya

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