2012-06-15 10 views
5

Azure पर तैनाती के बाद, मुझे सर्वर त्रुटियां मिल रही थी - एप्लिकेशन नहीं चलेंगे। तो मैंने उदाहरण में एक दूरस्थ डेस्कटॉप किया और पाया कि web.config पूरी तरह से ओवरहाल किया गया था ... क्या चल रहा है? मैंने सोचा कि web.config को पैक किया गया था? इसके बजाए, संपूर्ण कॉन्फ़िगरेशन बदल दिया गया है। जब मैं मूल, अनलर्टेड, सही कॉन्फ़िगरेशन के साथ "नया" संस्करण बदलता हूं, तो मेरा ऐप इरादे के अनुसार काम करता है।Azure परिनियोजन के दौरान Web.config बदल गया (भारी)

सबसे पहले, यहां क्या हो रहा है? मैं क्या गलत कर रहा हूं? इस तरह मैं भविष्य में इसे समझ सकता हूं और इसे दोहराना नहीं चाहता हूं।

दूसरा, मैं इस व्यवहार को कैसे रोकूं? मैं मूल web.config तैनात करना चाहता हूँ - कुछ मनमाने ढंग से imposter नहीं। धन्यवाद!

+0

क्या आप दो संस्करणों के कुछ उदाहरण पोस्ट कर सकते हैं? क्या आपके पास डीबग/रिलीज के लिए Web.config ओवरले हैं? क्या आपके पास पैरामीटर ट्रांसफॉर्मेशन कॉन्फ़िगर किया गया है? (http://msdn.microsoft.com/en-us/library/dd465326%28VS.100%29.aspx जैसे कुछ) –

+0

हाँ, मैंने कॉन्फ़िगर की एक छवि पोस्ट करने का प्रयास किया लेकिन मेरी "प्रतिष्ठा" बहुत कम है। मेरे पास कोई ओवरले या ट्रांसफॉर्मेशन नहीं है (विशेष रूप से इस मुद्दे के कारण)। चित्र (एक ही प्रश्न से) यहां है: http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/2b5d705e-ffd5-4022-b32d-c67c0fe518cf। –

+0

क्या आप यह सुनिश्चित करने के लिए एज़ूर पैकेज निकालेंगे कि परिवर्तन/पैकेजिंग के दौरान परिवर्तन होता है? यदि आप स्थानीय रूप से एज़ूर एमुलेटर में समान कॉन्फ़िगरेशन चलाते हैं तो फ़ाइल बरकरार रहती है? –

उत्तर

2

cskpkg फ़ाइल को अनजिप करने के लिए डनरी के सुझाव के आधार पर, मैंने देखा कि web.config कभी भी पैक नहीं किया गया था - इसलिए Azure आवश्यकता से बाहर मूलभूत बना रहा होगा (बिना चेतावनी के!!!?)। कुछ जांच के बाद, मैं (another StackOverflow question addressing deployment issues से) इस डला भर में आया था:

बाहर कर देता है web.config फ़ाइल भी तैनाती पैकेज में शामिल नहीं किया जा रहा था। किसी भी तरह web.config फ़ाइल का BuildAction सामग्री से किसी भी में बदल गया है।

बिल्डएक्शन को "सामग्री" में बदलने के बाद मेरी तैनाती अब अपेक्षित कार्य करती है।

2

जब तक आपके पास कोई परिवर्तन नहीं है (सामान्य, अंतर्निहित web.config.debug और .release का उपयोग करके), यह किसी भी उपयोगकर्ता सेटिंग्स को परिवर्तित नहीं करता है। एक समय पर, उसने मशीन की सेटिंग्स को बदल दिया जैसे कि आपकी वेब भूमिकाएं वेब फार्म परिदृश्य में संचालित होंगी (अगर लोड नहीं किया गया तो लोड बैलेंसर के पीछे कुछ भी काम नहीं करेगा)। मुझे यकीन है कि यह अभी भी यह करता है, लेकिन यह अब machine.config स्तर पर कर रहा है (अकेले अपना web.config छोड़कर)। मैंने कुछ समय में इस पर जांच नहीं की है, इसलिए सुनिश्चित नहीं है कि अब यह क्या करता है।

तैनात करने के लिए आसान तरीका यह है कि बस अपने cskpkg को पैकेज करें और उसे .zip फ़ाइल के रूप में खोलें। अंदर एक और फाइल होगी जिसमें आपकी वेब भूमिका का नाम होगा। इसे एक .zip के रूप में खोलें और आपको अपनी वेबसाइट को सभी पैक किया जाना चाहिए। Web.config जांचें और सुनिश्चित करें कि आपको वही चाहिए जो आपको चाहिए। यदि नहीं, तो यहां वापस पोस्ट करें जो आपको लगता है कि बदला नहीं जाना चाहिए।

+0

धन्यवाद। जब मैं सुझाव देता हूं कि मैं cskpkg को अनजिप करता हूं, तो मुझे लगता है कि web.config फ़ाइल पूरी तरह से ** गायब ** साइट्स/0 'निर्देशिका से है। कोई विचार क्या हो रहा है? –

+2

अहह .. समाधान बढ़ाएं। शुरुआती बिंदु के रूप में अपने सुझाव का उपयोग करना और web.config को महसूस करना गायब हो गया, इस गूंज को मिला ("किसी भी तरह से web.config फ़ाइल का BuildAction सामग्री से कोई भी नहीं बदला गया।") [इस सवाल] से (http: // stackoverflow .com/प्रश्न/9570016/नीला-एएसपी निवल MVC-वेब-config-तैनाती मुद्दा)। अब, तैनाती के रूप में तैनाती काम कर रहा है! एक बार फिर धन्यवाद। –

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