के तहत कोड चल रहा है या नहीं, मुझे यकीन नहीं है कि यह भी संभव है, लेकिन मैं यह निर्धारित करने के लिए एक सुराग की उम्मीद कर रहा हूं कि वर्तमान में निष्पादित कोड आईआईएस एक्सप्रेस के तहत चल रहा है या नहीं। मेरे करीबी अनुमान अब तक, जो अविश्वसनीय रूप से hackish है और निश्चित रूप से कुछ बिंदु पर विफल/तोड़ देगा:प्रोग्रामेटिक रूप से निर्धारित करता है कि आईआईएस एक्सप्रेस
bool IsExpress =
Request.ServerVariables["SERVER_SOFTWARE"] == "Microsoft-IIS/7.5"
&& Int32.Parse(Request.ServerVariables["INSTANCE_ID"]) > 1000000000;
निश्चित रूप से वहाँ है एक बेहतर तरीका हो सकता है। एप्लिकेशन, सर्वर और अनुरोध ऑब्जेक्ट्स की मेरी परीक्षा में कुछ भी प्रकट नहीं हुआ जो बेहतर अंतर्दृष्टि प्रदान कर सकता है। शायद मुझे बस किसी अन्य वस्तु को देखने की ज़रूरत है?
अद्यतन:
मैं इस का पता लगाने के लिए एक रास्ता है, तो वास्तव में उत्सुक हूँ - यह इस बिंदु पर वास्तव में शैक्षिक मैं एक जलती हुई नहीं है इसका इस्तेमाल करने की जरूरत है। मूल सवाल खड़ा है। लेकिन टिप्पणियों का जवाब देने की भावना में, विशेष रूप से मुझे इस साइट पर किसी अन्य प्रश्न/उत्तर से आलोचना का जवाब देने में दिलचस्पी है: How to search the server's MIME map। आलोचना यह है कि पोस्ट किया गया जवाब आईआईएस एक्सप्रेस, केवल पारंपरिक आईआईएस उदाहरणों के लिए काम नहीं करता है। आईआईएस एक्सप्रेस applicationhost.config एक्सएमएल फ़ाइल में एमआईएमई कॉन्फ़िगरेशन स्टोर करता है और मैं उस उत्तर को अपडेट करना चाहता हूं ताकि आईआईएस एक्सप्रेस के लिए उस जानकारी को वापस करने का एक तरीका प्रदान किया जा सके। मैं निश्चित रूप से कुछ कोड जोड़ सकता हूं जो एक्सएमएल से उपयुक्त मूल्य पकड़ता है (यानी LINQ से XML!) लेकिन मैं वास्तव में इसे बेहतर बनाना चाहता हूं। स्पष्ट होने के लिए, मुझे उस फ़ाइल को पार्स करने में मदद की ज़रूरत नहीं है - यह पता लगाने की कोशिश में कुछ और अधिक सुरुचिपूर्ण है कि कोड वर्तमान में आईआईएस एक्सप्रेस इंजन में निष्पादित कर रहा है या नहीं।
अद्यतन 2:
IIS 8.0 एक्सप्रेस बीटा released this week था, और यह आगे पता चलता है कि मेरे सवाल में दृष्टिकोण भंगुर है और टूट जाएगा चला जाता है। हालांकि यह एक विशिष्ट संस्करण को लक्षित करने के लिए एक सौदा ब्रेकर नहीं है, इसके लिए यह अच्छा लगेगा और यह सुनिश्चित करने का प्रयास करें कि कोड कम से कम ज्ञात संस्करणों के साथ काम करेगा।
आपका लक्ष्य क्या है? यह क्यों पता लगाना चाहते हैं (शायद आपका लक्ष्य प्राप्त करने का कोई और तरीका है)? – Yahia
यदि यह आईआईएस एक्सप्रेस में चल रहा है, तो आप अलग-अलग संभालना चाहते हैं? शायद यही सवाल है कि आपको आईआईएस एक्सप्रेस का पता लगाने के बजाय पूछने की जरूरत है। "डीबग में चलते समय _____ के बजाय मैं ____ कैसे करूं ?," उदाहरण के लिए। –
इच्छा कुछ कॉन्फ़िगरेशन तत्वों की जांच के आसपास केंद्रित है - निर्देशिका एंटर्री ("आईआईएस:/लोकलहोस्ट/डब्ल्यू 3 एसवीसी /") बनाम एक्सएमएल को एप्लिकेशनहोस्ट.कॉन्फिग में एक्सएम को पार्स करना जो आईआईएस एक्सप्रेस को नियंत्रित करता है। – Goyuix