2010-01-13 4 views
12

मैंने कभी भी this property of the IHttpHandler पूरी तरह से समझ नहीं लिया है। यह एक ऐसी संपत्ति है जिसे आप इंटरफ़ेस को लागू करते समय सेट करना चाहते हैं। मैंने माना है कि इसे सही करने के लिए प्रदर्शन प्रदर्शन के लिए बेहतर होगा, लेकिन मुझे यकीन नहीं है कि नकारात्मक दुष्प्रभाव क्या हो सकते हैं। क्या मुझे सच या गलत वापस करना चाहिए?क्या मुझे अपने HttpHandlers में TrueReable को सही पर सेट करना चाहिए?

+2

संभव डुप्लिकेट http://stackoverflow.com/questions/539302/significance-of -बूल-इज़्रेसेबल-इन-एचटीएमएल-हैंडलर-इंटरफ़ेस) – svick

उत्तर

13

इसका उपयोग यह इंगित करने के लिए किया जाता है कि IHttpHandler का एक उदाहरण एकाधिक समवर्ती अनुरोधों को संसाधित करने के लिए उपयोग किया जाएगा या नहीं। इसलिए यदि आप इसे true पर सेट करते हैं तो यह प्रदर्शन में सुधार करेगा लेकिन आपको यह सुनिश्चित करना होगा कि आपका कोड थ्रेड सुरक्षित है क्योंकि ProcessRequest विधि एक ही समय में एकाधिक थ्रेड से लागू की जा सकती है।

+0

हैंडलर काफी सरल है, और इसे राज्य को बनाए रखने की आवश्यकता नहीं है। यह धागा सुरक्षित होना चाहिए। तो मुझे लगता है कि मैं इसे सच में सेट कर सकता हूं! धन्यवाद। –

+1

जब आपके पास हैंडलर में निजी सदस्य चर होते हैं और संदर्भ का उपयोग करते हैं तो यह थ्रेडसेफ होता है? –

+0

क्या आप कृपया ** की व्याख्या कर सकते हैं क्योंकि ProcessRequest विधि एक ही समय में एकाधिक थ्रेड से लागू की जा सकती है। **? –

3

अपने IHttpHandler कार्यान्वयन राज्य (शायद निर्माता में सेटअप और बाद में ProcessRequest में प्रयुक्त) शामिल है तो यह कभी कभी गलत पर IsReusable स्थापित करने के लिए उपयोगी हो सकता है।

3

IsReusable हैंडलर को स्मृति में रखता है और एकाधिक अनुरोधों को संभालने में सक्षम बनाता है। जब गलत पर सेट किया जाता है, तो उसे प्रत्येक आने वाले अनुरोध के लिए हैंडलर का एक नया उदाहरण बनाना होगा।

मैं अपने आप को इस संपत्ति के साथ कुछ मुद्दों था:

Streaming Databased Images Using HttpHandler

[http हैंडलर इंटरफ़ेस में bool IsReusable का महत्व] (की
संबंधित मुद्दे