के साथ डेटा सेवा में HttpContext बनाम ऑपरेशन कॉन्टेक्स्ट। मेरे पास एक डब्ल्यूसीएफ डेटा सेवा (v5.2) है जो OnStartProcessingRequest(ProcessRequestArgs args)
ओवरराइड करता है। मैं प्रतिक्रिया में कुछ शीर्षलेख जोड़ना चाहता हूं (इस विधि में मुझे लगता है कि सही जगह है?)। मैंने पहली बार यह कोशिश की:HTTP हेडर
args.OperationContext.ResponseHeaders.Add(...)
यह काम नहीं किया। मैं तो कोशिश की इस:
OperationContext.Current.OutgoingMessageHeaders.Add(...)
कि काम नहीं किया। मैंने उस चूसने वाले पर एक नया ऑपरेशन कॉन्टेक्स्टस्कोप जोड़ने की कोशिश की। यह अभी भी असफल रहा। अंत में मैंने यह कोशिश की:
HttpContext.Current.Response.AddHeader(...);
वह विकल्प काम करता है! ("काम" से मेरा मतलब है कि यह वास्तव में ग्राहक के जवाब में दिखाई देता है।) पहले दो विकल्प क्यों काम नहीं करते थे?
वेब पर आगे पढ़ने के बाद मुझे पता चला कि
WebOperationContext.Current.OutgoingResponse.Headers.Add(...)
भी काम करता है। पृथ्वी पर क्यों हमारे पास इस विधि के अंदर चार वर्तमान संदर्भ हैं? एक व्यक्ति को यह जानने के लिए कि किसको उपयोग करना है (रनटाइम पर)? मेरे [WebGet]
विधियों में कौन से मान्य हैं? मेरे [QueryInterceptor]
विधियों में कौन से मान्य हैं? सही अनुरोध शीर्षलेख रखने के लिए किस संदर्भ की गारंटी है? (मैं वर्तमान में args.OperationContext का उपयोग कर रहा हूं।)