अनुरोध पर आईआईएस कार्यकर्ता प्रक्रियाओं को लक्षित करें

ठीक है, अजीब सेटअप, अजीब सवाल। हमारे पास एएसपीनेट-2.0/आईआईएस -6 पर चल रहे हमारे सास ऐप के लिए क्लाइंट और एडमिन वेब एप्लिकेशन है। व्यवस्थापक एप्लिकेशन क्लाइंट एप्लिकेशन पर प्रदर्शित विकल्पों को बदल सकता है। जब व्यवस्थापक में उन विकल्पों को सहेजा जाता है, तो हम उस विशिष्ट खाते के विकल्पों के हमारे कैश को फ़्लश करने के लिए, व्यवस्थापक से क्लाइंट पर एक वेबसाइट सेवा कहते हैं।

Recently we started giving our Client application >1 Worker Processes, thus causing the cache of options to only be cleared on 1 of the currently running Worker Processes.

इसलिए, मुझे स्पष्ट रूप से इस समस्या को ठीक करने के अन्य मार्ग हैं (हालांकि इनपुट की सराहना की जाती है), लेकिन मेरा प्रश्न है: क्या वेब अनुरोध के माध्यम से प्रत्येक कार्यकर्ता प्रक्रियाओं के माध्यम से लक्षित/पुनरावृत्ति करने का कोई तरीका है?

3

2 उत्तर

मैं इस जवाब के लिए यहां कुछ धारणाएं कर रहा हूं ....

  1. मुझे लगता है कि क्लाइंट ऐप आपके एप्लिकेशन के विकल्पों को स्टोर करने के लिए .NET कैशिंग कक्षाओं में से एक का उपयोग कर रहा है?

  2. जब आप 'फ्लश' कहते हैं तो क्या आप उन्हें कॉन्फ़िगरेशन फ़ाइल या डीबी टेबल पर वापस फ्लश करते हैं?

क्योंकि प्रक्रियाओं के बीच कैश ऑब्जेक्ट्स और डेटा साझा नहीं किए जाएंगे, आपको अन्य कार्यकर्ता प्रक्रिया पर चल रहे कोड को सिग्नल करने के लिए एक तंत्र की आवश्यकता होती है, जिसे इसे अपने कैश में अपने विकल्पों को दोबारा पढ़ने की आवश्यकता होती है या प्रक्रिया को पुनरारंभ करने के लिए मजबूर किया जाता है (जो नहीं है बिल्कुल सुविधाजनक और सबसे अधिक अवांछनीय)।

यदि आपके पास विकल्प कॉन्फ़िगरेशन फ़ाइल या डीबी तालिका (SqlCacheDependency का उपयोग करके कहें) को संशोधित करने के लिए क्लाइंट स्रोत तक पहुंच नहीं है, तो मुझे लगता है कि आप इस व्यवहार से थोड़े फंस गए हैं।

0
जोड़ा

मेरे पास कैश द्वारा व्यवस्थापक और क्लाइंट तक पूर्ण पहुंच है, मेरा मतलब है .net की कैश ऑब्जेक्ट। फ्लश से मेरा मतलब कैश ऑब्जेक्ट से आइटम को निकालना है।

मुझे पता है कि दोनों कार्यकर्ता प्रक्रियाएं कैश डेटा साझा नहीं करती हैं। यह मेरा कन्डर्रम है)

सिस्टम हर तरह के नए सत्र में एसक्यूएल को मारने की जरूरत को दूर करने का तरीका है। इसलिए मैं एक ऐसा समाधान ढूंढने की कोशिश कर रहा हूं जो केवल प्रत्येक कार्यकर्ता प्रक्रिया को बता सके कि कैश को एसक्यूएल प्राप्त करने की आवश्यकता है शामिल।

0
जोड़ा