2011-09-27 14 views
7

विवरण: वर्तमान वेब अनुरोध के निष्पादन के दौरान एक अनचाहे अपवाद हुआ। त्रुटि के बारे में अधिक जानकारी के लिए और जहां यह कोड में उत्पन्न हुआ, कृपया स्टैक ट्रेस की समीक्षा करें।System.Web.HttpException: प्रतिक्रिया इस संदर्भ त्रुटि में उपलब्ध नहीं है

अपवाद विवरण: System.Web.HttpException: प्रतिक्रिया इस संदर्भ में उपलब्ध नहीं है।

Source Error: 


Line 10: public void Download(string filename) 
Line 11: { 
Line 12:   Response.ContentType = "application/exe"; 
Line 13:   Response.AppendHeader("Content-Disposition", filename); 
Line 14:   Response.TransmitFile(Server.MapPath("~/Resources/bb.exe")); 

मैं एक वर्ग के अंदर इस विधि हो रहा है, मैं जब मैं एक बटन

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

public class Common: System.Web.UI.Page 
{ 
} 

क्लिक कहाँ मैं एक aspx पेज से प्रतिक्रिया ऑब्जेक्ट का उपयोग करते समय गलत

उत्तर

10

जा रहा हूँ इस विधि कॉल , इसकी कोडबेइंड क्लास या उपयोगकर्ता नियंत्रण, प्रतिक्रिया ऑब्जेक्ट सीधे उपलब्ध है क्योंकि ये सभी पृष्ठ ऑब्जेक्ट से प्राप्त होते हैं।

अपनी खुद की कक्षा में प्रतिक्रिया ऑब्जेक्ट का उपयोग कर, वस्तु उपलब्ध नहीं है, लेकिन आप इसे उपयोग कर सकते हैं:

HttpContext.Current.Response। -> कुछ

+1

धन्यवाद। प्रतिबिंब का उपयोग करके एक विधि को कॉल करते समय भी मैं इस समस्या में भाग गया, भले ही यह एक ही वेब पेज वर्ग में था। – styfle

3

आप पेज की प्रतिक्रिया वस्तु का उपयोग नहीं कर सकते हैं, क्योंकि यह ऑब्जेक्ट पहले से ही भेजा गया प्रतिक्रिया दर्शाता है, इसलिए आप इसे संशोधित नहीं कर सकते हैं या इसके साथ ट्रांसमिटफाइल का उपयोग नहीं कर सकते हैं।

आपको सर्वर आउटपुट में फ़ाइल लिखने के लिए अपना खुद का हैंडलर बनाना होगा। IHttpHandler प्रलेखन (http://msdn.microsoft.com/en-us/library/system.web.ihttphandler.aspx)

2

का संदर्भ लें मैं सुनिश्चित नहीं हूं कैसे,

लेकिन एक टूटी हुई कनेक्शन स्ट्रिंग मेरी Web.config फ़ाइल में - वजह से एक ही मुद्दा।

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