एमवीसी 3 का उपयोग करना और मैं यह निर्धारित करना चाहता हूं कि क्या मैं स्थानीय रूप से चल रहा हूं या क्लाउड पर तैनात हूं?मैं कैसे निर्धारित कर सकता हूं कि मैं अपने पीसी पर या क्लाउड पर स्थानीय रूप से चल रहा हूं या नहीं?
मैं कैसे निर्धारित कर सकता हूं कि मैं अपने पीसी पर या क्लाउड पर स्थानीय रूप से चल रहा हूं या नहीं?
उत्तर
यह है कि मैं क्या
public static class Azure
{
private static bool m_IsRunningAzure = GetIsRunningInAzure();
private static bool GetIsRunningInAzure()
{
Guid guidId;
if (RoleEnvironment.IsAvailable && Guid.TryParse(RoleEnvironment.DeploymentId, out guidId))
return true;
return false;
}
public static bool IsRunningInAzure()
{
return m_IsRunningAzure;
}
private static bool m_IsRunningAzureOrDevFabric = GetIsRunningInAzureOrDevFabric();
private static bool GetIsRunningInAzureOrDevFabric()
{
return RoleEnvironment.IsAvailable;
}
public static bool IsRunningInAzureOrDevFabric()
{
return m_IsRunningAzureOrDevFabric;
}
}
RoleEnvironment.IsAvailable
आपको बताता है कि क्या आप विंडोज़ एज़ूर में चल रहे हैं, लेकिन यह वास्तविक विंडोज़ एज़ूर और स्थानीय विकास सिम्युलेटर के बीच अंतर नहीं करता है।
मैंने blog post लिखा है जो यह पता लगाने के लिए एक चाल दिखाता है कि आप वास्तविक बनाम नकली विंडोज़ एज़ूर में चल रहे हैं या नहीं, जब RoleEnvironment.IsAvailable == true
- उम्मीद है कि जो आप ढूंढ रहे हैं उसे प्रदान करता है।
संपादित करें: मामले में आप नीचे-एन-गंदा कोड मैं उपरोक्त पोस्ट में वर्णन करना चाहते हैं, यही कारण है कि तकनीक काम करता है के किसी भी विवरण के बिना:
private bool IsRunningInDevFabric()
{
// easiest check: try translate deployment ID into guid
Guid guidId;
if (Guid.TryParse(RoleEnvironment.DeploymentId, out guidId))
return false; // valid guid? We're in Azure Fabric
return true; // can't parse into guid? We're in Dev Fabric
}
संपादित 2: मेरा जवाब एक सा है रगड़ा हुआ। अब है, जो उपयोग करने के लिए बहुत अधिक सरल है। एमएसडीएन दस्तावेज here
शायद फिर से शब्द इस पुराने हैक अधिक RoleEnvironment.IsEmulated के लिए और अधिक प्रमुखता देने के लिए उपयोग क्यों करें? – Simon
शायद यह ध्यान दिया जाना चाहिए कि 'IsAvailable' की अभी भी जांच की जानी चाहिए, क्योंकि' IsEmulated' फेंक देगा यदि पूर्व गलत है (भूमिका पर्यावरण प्रारंभ नहीं हुआ है)। –
आप पर्यावरण परिवर्तनीय के अस्तित्व की तलाश करके इसे पुराने तरीके से कर सकते हैं।
कंप्यूटर गुणों में अपने पर्यावरण चर के मान को सेट करें और इसे पर्यावरण.GetEnvironmentVariable ("MyVariable") का उपयोग करके पढ़ें।
Azure पर, चर मौजूद नहीं होगा, इसलिए कॉल शून्य हो जाएगी।
वहाँ कुछ सुझाव यहाँ हैं - http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/8fd96850-7a04-401b-89d5-ba153c1b4c51
- पर्यावरण चर
- deploymentID
- कंप्यूटर का नाम
- विंडोज Azure संग्रहण सेवा समाप्ति बिंदु
उन्हें को देखते हुए, मैं मुझे लगता है कि AZURE_DRIVE_DEV_PATH पर्यावरण परिवर्तक को देखने के लिए प्रेरित किया जा सकता है - लेकिन वहां एन है ओ गारंटी है कि यह भविष्य में एसडीके संस्करणों में काम करेगा।
मैंने उस एमएसडीएन धागा को नहीं देखा था - इसे पोस्ट करने के लिए धन्यवाद। देवता पर्यावरण बनाम उत्पादन में चलते समय मूल्यवान मूल्यों की तुलना सबसे मूल्यवान है। विकल्प 4 शायद बहुत व्यावहारिक नहीं है, क्योंकि आप देव पर्यावरण से देव भंडारण या वास्तविक भंडारण तक पहुंच सकते हैं। मैं विकल्प 2 का उपयोग करता हूं, लेकिन जैसा कि आपने पर्यावरण चर का निरीक्षण करने के लिए भावी एसडीके संस्करणों के साथ अस्वीकरण के बारे में नोट किया है, यह भी तैनाती आईडी का निरीक्षण करने पर लागू होता है। –
- 1. मैं कैसे जांच सकता हूं कि एंड्रॉइड पर कोई ऐप चल रहा है या नहीं?
- 2. एंड्रॉइड 2.2 - मैं कैसे पता लगा सकता हूं कि मैं एसडीकार्ड पर स्थापित हूं या नहीं?
- 3. मैं कैसे बता सकता हूं कि मैं .NET का उपयोग कर x64 या x86 पर हूं या नहीं?
- 4. मैं कैसे निर्धारित कर सकता हूं कि पर्ल फ़ंक्शन रनटाइम पर मौजूद है या नहीं?
- 5. मैं कैसे निर्धारित कर सकता हूं कि डिवाइस पर मल्टीटास्किंग समर्थित है या नहीं?
- 6. क्या मैं निर्धारित कर सकता हूं कि पाइपलाइन के हिस्से के रूप में PowerShell फ़ंक्शन चल रहा है या नहीं?
- 7. मैं कैसे निर्धारित कर सकता हूं कि मेरी प्रक्रिया पारस्परिक रूप से चल रही है या नहीं?
- 8. मैं कैसे निर्धारित कर सकता हूं कि मेरा टेक्स्टब्लॉक टेक्स्ट छंटनी जा रहा है या नहीं?
- 9. मैं कैसे जांच सकता हूं कि कोई प्रोग्राम पहली बार चल रहा है या नहीं?
- 10. मैं कैसे निर्धारित कर सकता हूं कि कोई त्रुटि लौटाई गई है या नहीं?
- 11. मैं प्रोग्रामिक रूप से यह निर्धारित कैसे कर सकता हूं कि आईआईएस साइट अनुरोध प्राप्त कर रही है या नहीं?
- 12. क्या मैं निर्धारित कर सकता हूं कि मैटलैब विंडोज में उन्नत विशेषाधिकारों के साथ चल रहा है या नहीं?
- 13. मैं कैसे निर्धारित कर सकता हूं कि बैक बटन प्रदर्शित होता है या नहीं?
- 14. मैं कैसे पता लगा सकता हूं कि विशिष्ट डेल्फी आईडीई चल रहा है या नहीं?
- 15. मैं कैसे निर्धारित कर सकता हूं कि ऑपरेटिंग सिस्टम सी में POSIX है या नहीं?
- 16. मैं कैसे बता सकता हूं कि मैं जेआरबी बनाम रुबी से चल रहा हूं?
- 17. मैं कैसे निर्धारित कर सकता हूं कि स्ट्रिंग एक स्थानीय फ़ोल्डर स्ट्रिंग या नेटवर्क स्ट्रिंग है या नहीं?
- 18. मैं कैसे खोज सकता हूं कि कोई प्रोग्राम कमांड लाइन से या वेब से चल रहा है या नहीं?
- 19. मैं कैसे निर्धारित कर सकता हूं कि एमएस ऑफिस 2007 एसपी 2 स्थापित है या नहीं?
- 20. मैं कैसे बता सकता हूं कि वेबसाइट पर फ़्लैश लोड हो रहा है या नहीं?
- 21. क्या मैं देख सकता हूं कि टाइमर अभी भी चल रहा है या नहीं?
- 22. मैं कैसे निर्धारित कर सकता हूं कि कोई फ़ाइल खाली है या नहीं?
- 23. क्या मैं निर्धारित कर सकता हूं कि कोई KeyEventArg एक अक्षर या संख्या है या नहीं?
- 24. मैं वर्कर थ्रेड पर स्टैक ओवरफ़्लो से कैसे रोक सकता हूं या पुनर्प्राप्त कर सकता हूं?
- 25. मैं कैसे निर्धारित कर सकता हूं कि एक विंडो हैंडल मान्य है या नहीं?
- 26. मैं हेरोोकू पर 'साप्ताहिक' नौकरी कैसे निर्धारित कर सकता हूं?
- 27. मैं कैसे निर्धारित कर सकता हूं कि विंडोज में एक विशिष्ट फ़ाइल खुलती है या नहीं?
- 28. मैं कैसे निर्धारित कर सकता हूं कि एक यूआरएल रीडायरेक्ट करता है या नहीं?
- 29. मैं कैसे निर्धारित कर सकता हूं कि एक यूआरएल PHP में रीडायरेक्ट करता है या नहीं?
- 30. कैसे पता चलेगा कि मैं एंड्रॉइड पर कॉल कर रहा हूं या नहीं?
यदि आपने मेरे ब्लॉग पोस्ट को देखा है, जैसा कि मेरे उत्तर में संदर्भित है, तो आप यह सटीक तकनीक दिखाएंगे और समझाएंगे। –