मेरे पास एक IHttpHandler है जो मुझे विश्वास है कि पुनः उपयोग से लाभ हो सकता है, क्योंकि यह स्थापित करने के लिए महंगा है, और थ्रेड-सुरक्षित है। लेकिन प्रत्येक अनुरोध के लिए एक नया हैंडलर बनाया जा रहा है। मेरे हैंडलर का पुन: उपयोग नहीं किया जा रहा है।IHttpHandler IsReusable, लेकिन पुनः उपयोग नहीं किया जा रहा है
महंगा सेटअप के बिना, मेरा सरल परीक्षण केस निम्नलिखित है। यह सरल मामला मेरी समस्या का प्रदर्शन करता है:
public class MyRequestHandler : IHttpHandler
{
int nRequestsProcessed = 0;
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext context)
{
nRequestsProcessed += 1;
Debug.WriteLine("Requests processed by this handler: " + nRequestsProcessed);
context.Response.ContentType = "text/plain";
context.Response.Write("Hello World");
}
}
Requests processed by this handler: 1
Requests processed by this handler: 1
Requests processed by this handler: 1
Requests processed by this handler: 1... at least 100 times. I never see > 1.
क्या मैं गलत समझ रहा हूं कि कैसे उपयोग किया जा सकता है? क्या ऐसा कुछ और है जो पुनः उपयोग को पराजित कर सकता है? मेरे हैंडलर को सिल्वरलाइट एप्लिकेशन से बुलाया जा रहा है अगर इससे कोई फर्क पड़ता है।
कैसे आप अपने आवेदन करने के लिए अपने हैंडलर संलग्न कर रहे हैं? Web.config या प्रोग्रामेटिक के माध्यम से? – Jacob
यह मेरा पहला ऐसा ऐप है। मैंने विजुअल स्टूडियो में एक नया एएसपी.नेट वेब साइट प्रोजेक्ट बनाया है। सर्वर चलाने के लिए, मैं विजुअल स्टूडियो से डीबग चला रहा हूं। –
मैं पूछ रहा हूं कि आपने चलाने के लिए 'MyRequestHandler' को कैसे कॉन्फ़िगर किया है। उदाहरण के लिए, क्या यह आपके web.config में कॉन्फ़िगर किया गया है, या क्या आपके पास 'Global.asax' में कोड है जो इसे पंजीकृत करता है? – Jacob