2011-08-31 20 views
7

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

कोड एक गड़बड़ है, और साहित्यिक सैकड़ों कनेक्शन स्ट्रिंग्स विभिन्न .asp फ़ाइलों में जगह के चारों ओर बिखरे हुए हैं। इन सभी में SQL सर्वर, आदि के लिए हार्ड-कोड किए गए संदर्भ शामिल हैं।

मैं वास्तव में इन सभी को अपने स्थानीय देव पर्यावरण एसक्यूएल डीबी सेटिंग्स के साथ प्रतिस्थापित नहीं करना चाहता, इसलिए मैं सोच रहा था कि क्या कोई आसान तरीका था एक .net web.config फ़ाइल से पढ़ने के लिए क्लासिक एएसपी प्राप्त करने के लिए। इस तरह से मैं इस जगह से पढ़ने के लिए सभी हार्ड-कोड किए गए कनेक्शन स्ट्रिंग्स को बदल सकता हूं, और फिर मुझे केवल एक ही स्थान पर सर्वर विवरण को परिभाषित करने की आवश्यकता है।

इसका मतलब यह होगा कि मैं कोड & स्थानीय रूप से डीबग कोड लिख सकता हूं, और मुझे बस इतना करना होगा कि तैनाती से पहले web.config में कुछ मानों को बदलना होगा।

कृपया अपने उत्तर में स्पष्ट उदाहरण दें, क्योंकि मैं क्लासिक एएसपी & पर नया हूं, मैं वास्तव में इस चरण में इसे पसंद नहीं कर रहा हूं। .net में यह सब दोबारा विकसित करने के लिए इंतजार नहीं कर सकता;)

धन्यवाद

उत्तर

5

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

config.asp

<% 
Dim connectionString 
connectionString = "your connectionstring here" 
%> 

Default.asp

<% Option Explicit %> 
<!-- #include virtual="config.asp" --> 
<% 
'--- 
' ... use connectionString here 
'--- 
%> 

आप क्या बताएँ कि आप अपने विरासत अन्य स्थानों में भी लघु उद्योग का उपयोग कर के बाकी सुधार सकता से।

+0

धन्यवाद, हाँ, इसमें सुधार करने के लिए मैं लोड कर सकता हूं, लेकिन जहां तक ​​मेरा संबंध है, यह मृत कोड है। मैं इसके साथ जितना संभव हो उतना छोटा करना चाहता हूं और इसे स्क्रैच से पुन: विकसित करना चाहता हूं :) – Bob

+0

@bob: लेकिन फ़ाइल एक्सटेंशन का उपयोग करें .asp नहीं .inc। यदि आईआईएस सर्वर में एक * मैपिंग है तो आप बाहरी मशीन के लिए /config.inc डाउनलोड करने के लिए गलती से इसे संभव बना सकते हैं। यदि कनेक्शन स्ट्रिंग में उपयोगकर्ता नाम और पासवर्ड हो सकते हैं, तो ऐसा कुछ नहीं है जिसे आप बाहरी पहुंच की अनुमति देना चाहते हैं। – AnthonyWJones

+0

@ एंथनी गुड प्वाइंट - मैंने तदनुसार अपना जवाब अपडेट किया। – Filburt

20

क्लासिक एएसपी में यह करने के लिए सामान्य स्थान global.asa फ़ाइल में एक आवेदन चर में है:

SUB Application_OnStart 
    application("connectionstring")= "[your connectionstring]" 
END SUB 

फिर आप एक पृष्ठ पर शामिल करने के लिए बिना हर पृष्ठ पर application("connectionstring") उपयोग कर सकते हैं।

+2

+1 मुझे नहीं पता था कि आप ऐसा कर सकते हैं। –

+1

+1 स्वच्छ कोड, उपयोग करने में आसान। Global.asa फ़ाइल –

+0

के बारे में और जानने के लिए [this] (https://www.w3schools.com/asp/asp_globalasa.asp) पृष्ठ का संदर्भ लें। पहले कभी नहीं सोचा ..: -o (2017 में ऐसा करने का शानदार तरीका);) – yaqoob

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