2013-07-20 4 views
5

आईआईएस के web.config के हैंडलर अनुभाग में स्क्रिप्ट प्रोसेसर के संबंध में, क्या% s के अलावा कोई% प्रतीक हैं (जो अनुरोधित फ़ाइल नाम का प्रतिनिधित्व करता है)? उदाहरण के लिए,% एक मान्यता प्राप्त मैक्रो/प्रतीक है? यदि% s के अलावा अन्य लोग हैं, तो वे कहां वर्णित हैं?आईआईएस web.config,% s के अलावा किसी अन्य% प्रतीक?

+1

मुझे पता है कि% windir% प्रतीक है: http://technet.microsoft.com/en-us/library/cc754147%28v=ws.10%29। एएसपीएक्स लेकिन मुझे नहीं पता कि कुछ और है या नहीं। –

+0

यह निश्चित रूप से सही दिशा में जा रहा है। मैंने उस संदर्भ में% windir% और संभावित रूप से अन्य पर्यावरण चर उपलब्ध होने की संभावना के बारे में सोचा नहीं था। आप के लिए यश। – bugmagnet

उत्तर

2

आपका प्रश्न थोड़ा अस्पष्ट है, इसलिए मुझे इसका उत्तर देने के लिए कई धारणाएं करनी पड़ीं। अगर मुझे कुछ गलत मिला तो कृपया मुझे बताएं।

documentation से

:

स्क्रिप्ट प्रोसेसर

वैकल्पिक स्ट्रिंग विशेषता।

आईएसएपीआई एक्सटेंशन। डीएल फाइल या कॉमन गेटवे इंटरफेस (सीजीआई) .exe फ़ाइल का भौतिक पथ निर्दिष्ट करता है जो अनुरोध को संसाधित करता है।

स्क्रिप्टप्रोसेसर विशेषता केवल स्क्रिप्ट मैप हैंडलर मैपिंग के लिए आवश्यक है। जब आप एक आईएसएपीआई एक्सटेंशन में हैंडलर को मैप करते हैं, तो आपको मॉड्यूल विशेषता के लिए ISAPIModule निर्दिष्ट करना होगा। जब आप किसी सीजीआई फ़ाइल में हैंडलर को मैप करते हैं, तो आपको मॉड्यूल विशेषता के लिए CGIModule निर्दिष्ट करना होगा।

दस्तावेज़ीकरण से, हमें प्रारूप तारों का कोई उल्लेख नहीं दिखता है। यदि प्रारूप तार थे, तो आप उन्हें किसके साथ बदल देंगे? एक्सएमएल के आधार पर कोई स्पष्ट जवाब नहीं है। शायद आप एक प्रारूप स्ट्रिंग के लिए एक पर्यावरण चर गलत कर रहे हैं। या आपके विशेष कॉन्फ़िगरेशन सेटअप में कुछ पोस्ट प्रोसेसिंग है जो इसे धक्का देने से पहले चलती है।

यदि हम वास्तव में पर्यावरण चर के बारे में बात कर रहे हैं, तो आप सिस्टम सेटिंग्स लाने के लिए Win + Break जारी करके, उन्नत पर जाएं, फिर पर्यावरण चर खोलें। आप अपना खुद का परिभाषित भी कर सकते हैं। किसी भी पर्यावरण चर का उपयोग करने के लिए आप %variablename% का उपयोग कर सकते हैं जैसा कि आप एक मानक .bat फ़ाइल में करेंगे।

संपादित करें: अधिक शोध पर, मुझे निम्नलिखित मिल गया है। %s आपको स्क्रिप्ट नाम देगा, फिर %s आपको पैरामीटर foo=bar देगा। किसी भी आधिकारिक आईआईएस दस्तावेज में इस सुविधा का विज्ञापन नहीं किया गया है (जिसे मैं पा सकता हूं)। मुझे दृढ़ता से संदेह है कि इसे एक बहिष्कृत विशेषता माना जाता है। और वे आईएसएपीआई को आदर्श बनाने के लिए कड़ी मेहनत कर रहे हैं।

यह कैसे संरचित किया गया है (यानी एक मानक प्रारूप स्ट्रिंग की तरह) मुझे संदेह है कि अन्य सामान्य प्रारूप तारों (%d %c %f) की कोशिश करने से आपको कुछ दिलचस्प मिल सकता है, लेकिन शायद नहीं। ऐसा लगता है कि यह एक बहुत ही विशिष्ट समस्या का एक बहुत ही विशिष्ट समाधान था।

+0

हां, बहुत स्पष्ट नहीं है। अन्य "मैक्रोज़" (बेहतर शब्द की इच्छा के लिए) में "स्वरूप स्ट्रिंग्स" में इतना रूचि नहीं है। उदाहरण के लिए,% s अनुरोधित स्क्रिप्ट नाम का प्रतिनिधित्व करता है। क्या% मतलब कुछ भी है, आदि? – bugmagnet

+0

कुछ शोध करने के बाद, ऐसा लगता है कि अगर आप अनुरोधित स्क्रिप्ट नाम देते हैं तो आप '% s' जारी करते हैं, तो'% s' का दूसरा उच्चारण आपको पैरामीटर देगा। हालांकि, मुझे अभी तक इसका कोई माइक्रोसॉफ्ट दस्तावेज नहीं मिला है। जो कुछ भी मैंने पाया है वह आईआईएस के तहत काम कर रहे पर्ल प्राप्त करने से संबंधित है। – OmnipotentEntity

+0

http://www.microsoft.com/msj/0498/iis/iis.aspx इसे गुजरने में उल्लेख करता है। – OmnipotentEntity

0

यह आपके प्रश्न से सख्ती से संबंधित नहीं है लेकिन मैं इन 2 लिंक को पोस्ट करता हूं क्योंकि वे किसी भी तरह से जुड़े हुए हैं और उपयोगी हो सकते हैं।

मुझे वेब.कॉन्फिग को बदलने के लिए "@" और "$" का उपयोग करने का तरीका मिला है, लेकिन मुझे "%" पर कुछ भी नहीं मिला है जो कि पर्यावरण चर से सख्ती से संबंधित नहीं है।

पहले लिंक: "@"

यह पहली कड़ी xdt के उपयोग बताते हैं: रूपांतरण और xdt: लोकेटर जिम्मेदार बताते हैं कि आप Web.config में उपयोग कर सकते हैं फ़ाइलों को बदलने:

http://msdn.microsoft.com/en-us/library/dd465326.aspx

यह उदाहरण वेब का एक दिलचस्प उपयोग है।साथ स्थितियां का उपयोग कर कॉन्फ़िग परिवर्तन "@":

<configuration xmlns:xdt="..."> 
    <connectionStrings> 
     <add name="AWLT" connectionString="newstring" 
      providerName="newprovider" 
      xdt:Transform="Replace" 
      xdt:Locator="Condition(@name='oldname' 
       or @providerName='oldprovider')" /> 
    </connectionStrings> 
</configuration> 

दूसरा लिंक: "$"

यह दूसरी कड़ी कैसे Web.Config उबाऊ प्रक्रिया से बचने के लिए मैन्युअल रूप से टिप्पणी करने के लिए बदलने के लिए "$" का उपयोग को दर्शाता है/टिप्पणी हटाएं Web.Config भागों जब तैनाती या अलग सर्वर में परीक्षण:

http://andrewtwest.com/2010/02/25/using-web-config-transformations-in-web-site-projects/

लिंक का एक उद्धरण, दिखा MSBuild का उपयोग कैसे करें Web.Config fil को बदलने के लिए तों एक वेब अनुप्रयोग प्रोजेक्ट फ़ाइल से शुरू:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    <OutputPath>bin\</OutputPath> 
</PropertyGroup> 
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    <OutputPath>bin\</OutputPath> 
</PropertyGroup> 
संबंधित मुद्दे