से प्रतिक्रिया ऑब्जेक्ट बदलना मेरा ओविन मिडलवेयर इस तरह है। (फ्रेमवर्क एएसपी.नेट वेब एपीआई है)।ओडब्ल्यूआईएन मिडलवेयर
public class MyMiddleware : OwinMiddleware
{
public MyMiddleware(OwinMiddleware next) : base(next) { }
public override async Task Invoke(OwinRequest request, OwinResponse response)
{
var header = request.GetHeader("X-Whatever-Header");
await Next.Invoke(request, response);
response.SetHeader("X-MyResponse-Header", "Some Value");
response.StatusCode = 403;
}
}
सवाल:
यह
OwinMiddleware
से प्राप्त करने की सिफारिश की प्रथा है? मैं देखता हूं कि कटाना स्रोत में, कुछ मिडलवेयर वर्गOwinMiddleware
से प्राप्त होते हैं और कुछ नहीं करते हैं।मैं अनुरोध हेडर ठीक देख सकता हूं। मेरे मिडलवेयर में
Next.Invoke
के बाद प्रतिक्रिया शीर्षलेख या स्थिति कोड सेट करना क्लाइंट को वापस प्रतिक्रिया पर कोई प्रभाव नहीं पड़ता है। लेकिन अगर मैंNext.Invoke
कॉल से पहले प्रतिक्रिया हेडर या स्थिति सेट करता हूं, तो हेडर और मेरे द्वारा सेट की गई स्थिति को क्लाइंट में वापस कर दिया जाता है। इन्हें स्थापित करने का सही तरीका क्या है?
धन्यवाद युसुफ:
यहाँ युसुफ के कोड के उस संस्करण है। बिंदु # 2 के लिए, क्या कटाना स्रोत या कहीं और एक उदाहरण कोड है जिसे मैं देखने के सर्वोत्तम अभ्यास पीटी से देख सकता हूं? मेरा मानना है कि, मैं जो मांग रहा हूं वह काफी आम आवश्यकता है और क्या हम ओडिन मिडलवेयर का उपयोग करते हुए प्रतिक्रिया प्रतिक्रिया शीर्षलेख सेट करने के लिए बस इस स्ट्रीम स्विचिंग को करना चाहते हैं? किसी भी पॉइंटर्स की सराहना की जाएगी। – Badri
मैं आपके सुझाव का पालन करके समस्या का समाधान करने में सक्षम हूं लेकिन क्या कोई आसान तरीका नहीं है? मेरा मतलब यह है कि रास्ते पर प्रतिक्रिया शीर्षलेख सेट करने के लिए यह बहुत अधिक काम है, खासकर अगर किसी को वेब एपीआई के संदेश हैंडलर में उपयोग किया जाता है। – Badri
एक सरल विधि के साथ उत्तर अद्यतन किया गया। अगर यह काम करता है तो कृपया मुझे बताएं। –