2010-05-26 15 views
15

मैं कैसे विश्वसनीयता का पता लगा सकता हूं कि मेरा Azure एप्लिकेशन विकास कपड़े में चल रहा है या नहीं, 'क्लाउड' में?यह पता लगाने के लिए कि विकास कपड़े में एज़ूर एप्लिकेशन चल रहा है?

RoleEnvironment.Is उपलब्ध दोनों के लिए सच है। मुझे ऐसा कुछ चाहिए जो केवल एक मामले में सच है।

मैं यह पूछ रहा हूं क्योंकि मैं चाहता हूं कि मेरी लाइब्रेरी के उपयोगकर्ता देव पुस्तकालय में मुफ्त में मेरी लाइब्रेरी का उपयोग कर सकें। इसलिए कॉन्फ़िगरेशन फ़ाइल में मैन्युअल रूप से अलग पहचानकर्ता या ध्वज डालना और देव और तैनाती के लिए दो कॉन्फ़िगरेशन रखना संभव नहीं है।

उत्तर

20

एक विकल्प RoleEnvironment.DeploymentId पर एक नज़र डालना है - यदि आप देव कपड़े में चल रहे हैं, तो इसका नाम 'तैनाती (एन)' होना चाहिए जहां n कुछ अनुक्रमिक संख्या है। यदि आप उत्पादन में भाग रहे हैं, तो तैनाती आईडी एक ग्रिड जैसा दिखना चाहिए।

एक और चीज जो आप कर सकते हैं वह भूमिका के उदाहरण का नाम देखती है। उत्पादन में, इसे _0 (उदाहरण 0 का प्रतिनिधित्व करना) में समाप्त होना चाहिए। देव कपड़े में, यह .0

संपादित करें 1/8/2013 - इस उत्तर को मैंने महसूस किया कि मैंने 2 साल पहले दिया था काफी पुराना है! अब भी है - विवरण here देखें।

+1

+1 आपके उत्तर को अपडेट करने के लिए – Tom

3

उदाहरण के लिए:

विकास कपड़े पूरी तरह से विंडोज Azure लोड संतुलन के व्यवहार अनुकरण नहीं करता है। उदाहरण के लिए, यदि वेब रोल इंस्टेंस में चल रहा कोड, SetBusy विधि को RoleEnvironment.StatusCheck ईवेंट हैंडलर से इंगित करता है यह इंगित करने के लिए कि रोल बैलेंसर के घूर्णन से रोल इंस्टेंस निकाला जाना चाहिए, तो भी आप अपनी भूमिका तक पहुंच पाएंगे ब्राउज़र जबकि इसकी स्थिति RoleInstanceStatus.Busy है।

इसके अलावा एज़ूर कपड़े आमतौर पर one of the few fixed OS Images के तहत चलता है। तो आप सिस्टम की जांच भी कर सकते हैं। पर्यावरण। कुछ पैटर्न जो केवल अजीब कपड़े में होते हैं (यानी विशिष्ट ओएस संस्करण विंडोज़ एज़ूर ओएस से मेल खाता है या ऐसा कुछ)।

1

एक बहुत ही सरल तकनीक है जिसका उपयोग मैं थोड़ी देर के लिए कर रहा हूं - और इसे अक्सर इस्तेमाल करके ढूंढें। यह चाल है कि आप अपनी डीवी मशीन पर एक पर्यावरण चर सेट करें और मूल डॉस बैच फ़ाइल (या पावरशेल) तकनीकों का उपयोग करके, उस सामग्री पर कूदें जो आप नहीं चाहते हैं कि वह चर मौजूद है। यह पर्यावरण चर क्लाउड में मौजूद नहीं होगा।

मैं यहाँ यह के बारे में ब्लॉग: Azure FAQ: Can I create a Startup Task that executes only when really in the Cloud?

16

विंडोज Azure 1.5 एसडीके RoleEnvironment.IsEmulated स्थिर bool संपत्ति कोड से निर्धारित करने के लिए भूमिका उदाहरण विंडोज Azure गणना एमुलेटर में चल रहा है कि क्या की शुरुआत की। यह जानकारी स्टार्टअप कार्यों को भी पास की जा सकती है। इसके बारे में स्टीव मार्क्स here से एक शानदार लेख है।

+1

यह विश्वसनीय नहीं है क्योंकि यह केवल पर्यावरण परिवर्तनीय पर आधारित है और किसी ऐसे व्यक्ति के लिए जो इस चेक के आधार पर लाइसेंस छोड़ना चाहता है, इस चर को आसानी से स्थापित करने में सक्षम होना चाहिए और इसलिए IsEmulated सच हो जाएगा । –

संबंधित मुद्दे

 संबंधित मुद्दे