IIS संरचना के तहत aspnet_client फ़ोल्डर क्या है?


108

मुझे लगता है कि मानक IIS वेब फ़ोल्डर संरचना के तहत अक्सर एक aspnet_client फ़ोल्डर है। यह किसके लिए प्रयोग किया जाता है? क्या इसकी जरूरत है?

जवाबों:


91

.NET 1.1 दिनों और उससे पहले, इस फ़ोल्डर ने ASP.NET को सत्यापन नियंत्रण और अन्य कार्यक्षमता के लिए अपने जावास्क्रिप्ट समर्थन के साथ प्रदान किया। यदि आपके पास .NET 1.1 साइट या पुराने रनिंग नहीं हैं, तो इसे हटाने के लिए सुरक्षित होना चाहिए। मैं यह सुनिश्चित करने के लिए इसे पहले नाम दूंगा कि यह किसी भी समस्या का कारण नहीं है।


15
यह आपको यह याद दिलाने के लिए दिखाता है कि इस तरह की चीजों को कैसे नहीं करना है ... :)
ओस्टति

यहां तक ​​कि अगर आप अब .Net 1.1 दिनों से बाहर हैं, तो आप क्रिस्टल रिपोर्ट का उपयोग कर सकते हैं, लेकिन दुर्भाग्य से अभी भी उल्लेख किए गए फ़ोल्डर का उपयोग करते हैं (और शायद एक ही व्यवहार के साथ अन्य सॉफ़्टवेयर भी हैं)। तो, कम से कम, फ़ोल्डर को हटाने से पहले बैकअप बनाएं
वादिम लेवकोवस्की

66

दूसरों ने जो कहा है, इसके अलावा, यह आमतौर पर aspnet_regiis टूल द्वारा बनाया जाता है, जो विंडोज अपडेट / AddRemove विंडोज घटकों / IIS जैसी चीजों द्वारा चलाया जा सकता है (फिर से)। इसलिए कभी-कभी यदि आप इसे हटा भी देते हैं, तो यह बेतरतीब ढंग से वापस आ सकता है। इस व्यवहार को रोकने का एक तरीका हो सकता है, लेकिन मुझे यह नहीं मिला है (शायद एप्लिकेशन संस्करण को .NET 2 में बदलना वास्तव में ऐसा करेगा)।

इसलिए जब तक आप .NET 1.0 / 1.1 (सत्यापन, स्मार्ट नेविगेशन आदि) की कुछ विशेषताओं का उपयोग कर रहे हैं, तब तक आप इसे बिना किसी समस्या के हटा सकते हैं, अगर यह वापस आ जाए तो बहुत आश्चर्यचकित न हों!


28
मुझे लगता है कि यह समय-समय पर वापस आता है। इसके बारे में सबसे अधिक निराशा की बात यह है कि यह हर बार वापस आता है, यह वेबडाइपल को उस खाते के रूप में तोड़ देता है जिसके तहत रन बनाए गए एस्पनेट_क्लिएंट फ़ोल्डर को हटाने की पहुंच नहीं है!
रस कैम

5
@RussCam मैं वास्तव में एक ही समस्या है। यह उसी कारण से WebDeploy को तोड़ता है। क्या किसी ने इस फ़ोल्डर को बेतरतीब ढंग से बनाए जाने से रोकने का कोई तरीका खोजा?
tugberk

4
मैंने अभी-अभी DotNet फ्रेमवर्क 4.5 को स्थापित किया है और कुछ ही समय बाद हमारी WebDeploy परिनियोजन (TeamCity के माध्यम से ट्रिगर) उसी कारण से टूट गई। 4.5 स्थापित करने के परिणामस्वरूप darn फ़ोल्डर फिर से वापस आ गया। किसी ने, कृपया इसे बंद करो।
माइकल12345 2

2
मैंने अब वास्तव में इन फ़ोल्डरों को हमारे परिनियोजन पैकेज में शामिल करने का सहारा लिया है ताकि टीमसिटी उन्हें हटाने की कोशिश न करे। ऐसा लगता है कि यह हमारे कोड बेस को प्रदूषित कर रहा है, लेकिन उम्मीद है कि ASP.NET और हमारे ऐप परिनियोजन के बीच शक्ति संघर्ष बंद हो जाएगा।
माइकल १३४५

1
मैं इस फ़ोल्डर से हर समय वापस आने से गंभीर रूप से परेशान हूं, हमारे पास कोई asp.net 1.x साइट्स नहीं हैं, और अभी तक प्रतीत होता है कि हर स्वचालित विंडोज़ अपडेट इस खूनी फ़ोल्डर को हर साइट में डाल देता है, जिससे मेरी सभी वेब deploys टूट जाती हैं। मैं @ Michael12345 के साथ सहमत हूँ कि इसका एक बढ़िया समाधान नहीं है कि बेकार फ़ोल्डरों को एससी में सिर्फ डिप्लॉय बनाने के लिए काम करना जारी रखें और सप्ताहांत की जीत के अपडेट के बाद इसे प्रत्येक सोमवार को मैन्युअल रूप से फिक्स करने की आवश्यकता है, इसे प्रत्येक साइट और गलत एसीएल अनुमति के साथ जोड़ें) । कष्टप्रद!
मेमेडेवेलर

15

aspnet_client "संसाधनों के लिए एक फ़ोल्डर है जिसे HTTP के माध्यम से परोसा जाना चाहिए, लेकिन प्रति-सर्वर आधार पर स्थापित किया जाता है, बजाय एक प्रति-अनुप्रयोग आधार पर"।

Aspnet_client के कुछ उपयोगों में भंडारण संसाधन शामिल हैं (उदाहरण के लिए जावास्क्रिप्ट, चित्र):

  • ASP.NET वेब फॉर्म के लिए जावास्क्रिप्ट क्लाइंट-साइड सत्यापन का उपयोग करते समय नियंत्रण करता है (मुख्य रूप से IE5 जैसे पुराने ब्राउज़रों को मैनहैंड करने के लिए, ऐसा लगता है)
  • ASP.NET 2.0 (फ्रेमवर्क 4.0 तक) 'ग्लोबल थीम' के लिए (सर्वर पर सभी साइटों के लिए वैश्विक, जो है)
  • क्रिस्टल रिपोर्ट के कुछ संस्करण

भविष्य में संभवतः इस फ़ोल्डर का उपयोग (आगे) होगा। कहने की जरूरत नहीं है, क्योंकि इसमें वे चीजें शामिल हैं, जो "एप्लिकेशन को सही ढंग से चलाने के लिए आवश्यक हैं" लेकिन जो "एप्लिकेशन द्वारा लागू नहीं किए जाने वाले हैं", यह डेवलपर्स और सिस्टम प्रशासक दोनों के लिए दुःस्वप्न में से कुछ रहेगा।

ऐसा लगता है कि फ़ोल्डर की सामग्री के लिए 'प्रोटोटाइप' C: \ inetpub \ wwwroot \ में है, और यह उचित लगता है कि यदि किसी भी IIS वेबसाइट में / aspnet_client संसाधन का अभाव है, तो IIS सही काम करने की कोशिश करेगा। और ... अंतिम उपाय के रूप में ... वेब साइट रूट फ़ोल्डर में एक भौतिक फ़ोल्डर बनाएं, और वहां फ़ाइलों की प्रतिलिपि बनाएँ। ऐसा लगता है कि IIS कम से कम ऐसा तब करेगा जब "ASPNET_regiis / c" किसी दिए गए सर्वर को आमंत्रित किया जाता है - जो संभवतः कुछ महत्वपूर्ण जंक्शनों पर स्वचालित रूप से होता है ... जैसे कि .NET फ्रेमवर्क अपडेट एक सर्वर पर लागू होता है जिसमें IIS भूमिका होती है।

Aspnet_client निर्देशिका को संभालने के लिए रणनीतियों में शामिल हैं: * C: \ inetpub \ wwwroot में मैप की गई वर्चुअल निर्देशिका को निर्दिष्ट करना, इस उम्मीद में कि IIS एक भौतिक निर्देशिका बनाना शुरू कर देगा * भौतिक निर्देशिका को समय-समय पर हटाना यदि आपकी साइट निश्चित नहीं है तो ' t इसकी आवश्यकता है और यह वास्तव में आपको परेशान करता है * aspnet_client की अनदेखी * "ASPNET_regiis / c" चल रहा है यदि आप फ़ोल्डर को याद कर रहे हैं, और इसकी आवश्यकता है

संभवतः सबसे महत्वपूर्ण रूप से, एक डेवलपर के रूप में, आपको अपने अनुप्रयोगों की निर्भरता को aspnet_client निर्देशिका पर स्पष्ट रूप से समझना और दस्तावेज़ित करना चाहिए, और सुनिश्चित करें कि आपकी स्थापना प्रक्रिया में यह सुनिश्चित करने के लिए प्रासंगिक निर्देश हैं कि निर्देशिका मौजूद है। हालाँकि, आपको अपने पैक किए गए वेब एप्लिकेशन या वेब साइट के हिस्से के रूप में निर्देशिका को वास्तव में आपूर्ति करने के लिए परेशान नहीं करना चाहिए - आप .NET फ्रेमवर्क के प्रत्येक संस्करण के लिए संभवतः ऐसा कैसे कर सकते हैं जो सर्वर आपके आवेदन के जीवनकाल में देखेगा ?!

कुछ लिंक मैं बाद में वापस आऊंगा:


इसलिए यदि आप wwwroot के तहत aspnet_client फ़ोल्डर जोड़ते हैं, तो इसकी सामग्री को आपके द्वारा इंस्टॉल किए गए प्रत्येक वेब ऐप पर कॉपी कर लिया जाएगा जो मुझे लगता है
जॉर्ज बिरबिलिस

8

इसमें कुछ आइकन और स्क्रिप्ट भी हैं जो क्रिस्टल रिपोर्ट के लिए 1.1 से बाद के संस्करणों में भी ठीक से चलाने के लिए आवश्यक हैं


याह, यह कठिन रास्ता पता चला। मैंने डिफ़ॉल्ट वेब साइट के अंतर्गत एक वर्चुअल निर्देशिका से अपनी Ripplestone आवृत्ति को अपनी वेबसाइट पर स्थानांतरित कर दिया, और Ripplestone में सब कुछ अजीब होने लगा। मैंने जावास्क्रिप्ट कंसोल को देखा, और यह देखा कि यह C:\inetpub\wwwroot\aspnet_client\system_web\4_0_30319\crystalreportviewers13 सुनिश्चित नहीं था कि यह करने के लिए सही चीज़ है या नहीं, इसके तहत सामान की तलाश थी , लेकिन मैंने रूट से पूरे एस्पनेट_क्लेयर फ़ोल्डर को कॉपी किया था निर्देशिका में मेरे रिप्पलस्टोन उदाहरण में रहते थे।
एडम नोफ़िंगर

3

फ़ोल्डर आमतौर पर ग्राहक पक्ष जावास्क्रिप्ट को संग्रहीत करने के लिए होता है, जो ASP.NET सत्यापन जैसी चीजों के लिए उपयोग करता है।

इसे हटाना सुरक्षित होना चाहिए।


1

यह मैं यहाँ जोड़ सकता हूँ क्योंकि यह लिंक है जिसे मैं निर्देशित करता रहा जब मैंने इस प्रश्न को देखा। .NET 4.0 और नए रूप में यह फ़ोल्डर अब आवश्यक नहीं है और इसे बिना समस्या के हटाया जा सकता है।


0

यदि आप ASP.net वेबसाइट को कॉन्फ़िगर करने के लिए Installhield का उपयोग कर रहे हैं, तो ध्यान रखें कि यह सुविधा Installhield 2010 में मौजूद थी और Installereld 2012 में गायब है। किशील्ड 2010 बनाम 2012


कुछ सुविधाएँ IS2010 में मौजूद नहीं हैं। पिछले संस्करणों की कोशिश करें।
विष्णु प्रशांत
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.