2013-07-20 12 views
5

Jeśli chodzi o skryptProcesor w sekcji procedur obsługi pliku web.config usług IIS, czy są jakieś symbole% z% s (co wydaje się reprezentować żądaną nazwę pliku)? Na przykład, czy% jest rozpoznawanym makro/symbolem? Jeśli są inne oprócz% s, gdzie są opisane?IIS web.config, jakikolwiek inny% symboli oprócz% s?

+1

wiem, że to% windir% symbol: http://technet.microsoft.com/en-us/library/cc754147%28v=ws.10%29. aspx, ale nie wiem, czy jest coś jeszcze. –

+0

To zdecydowanie zmierza we właściwym kierunku. Nie myślałem o możliwości% windir% i ewentualnie innych zmiennych środowiskowych dostępnych w tym kontekście. Kudos dla ciebie. – bugmagnet

Odpowiedz

2

Twoje pytanie jest nieco niejasne, więc musiałem przyjąć kilka założeń, aby na nie odpowiedzieć. Daj mi znać, jeśli coś jest nie tak.

Z documentation:

Script Processor

Opcjonalny atrybut ciąg.

Określa ścieżkę fizyczną pliku rozszerzenia DLL ISAPI lub pliku .exe interfejsu CGI, który przetwarza żądanie.

Atrybut scriptProcessor jest wymagany tylko do odwzorowań mapowania mapowania skryptów. Podczas mapowania programu obsługi do rozszerzenia ISAPI należy określić moduł ISAPIModuł dla atrybutu modules. Podczas mapowania programu obsługi do pliku CGI należy określić wartość CGIModule dla atrybutu modules.

Z dokumentacji nie widzimy żadnej wzmianki o ciągach formatów. Jeśli byłyby ciągi formatów, co byś je zastąpił? Nie ma jasnej odpowiedzi opartej na XML. Być może pomyliliście zmienną środowiskową dla ciągu formatu. Lub twoja konfiguracja konfiguracji ma pewne przetwarzanie, które zostało uruchomione, zanim zostanie uruchomione na żywo.

Jeśli mówimy o zmiennych środowiskowych, można je wyświetlić, wydając polecenie Win + Break, aby wywołać ustawienia systemowe, przejść do zaawansowanych, a następnie otworzyć zmienne środowiskowe. Możesz także zdefiniować swój własny. Aby użyć dowolnej zmiennej środowiskowej, możesz użyć %variablename%, tak jak w standardowym pliku .bat.

EDYCJA: Po większych badaniach, znalazłem następujące. %s poda nazwę skryptu, a następnie %s ponownie poda parametry foo=bar. Ta funkcja nie jest reklamowana (którą można znaleźć) w żadnej oficjalnej dokumentacji IIS. Podejrzewam, że jest to przestarzała funkcja. I naciskają mocno, aby ISAPI stało się normą.

Ze względu na strukturę (tj. Jak standardowy ciąg znaków) podejrzewam, że wypróbowanie innych popularnych ciągów formatów (%d %c %f) może dać ci coś interesującego, ale prawdopodobnie nie. Wygląda na to, że było to bardzo konkretne rozwiązanie bardzo konkretnego problemu.

+0

Tak, niezbyt jasne. Nie interesuje się tak bardzo "ciągami formatów" tak jak innymi "makrami" (z braku lepszego słowa). Na przykład% s reprezentuje żądaną nazwę skryptu. Czy% oznacza coś, itp? – bugmagnet

+0

Po przeprowadzeniu badań wygląda na to, że jeśli wydasz '% s' po podaniu żądanej nazwy skryptu, druga wypowiedź'% s' da ci parametry. Jednak nadal nie znalazłem żadnej dokumentacji tego Microsoft. Wszystko, co znalazłem, było związane z uzyskiwaniem perla działającego w IIS. – OmnipotentEntity

+0

http://www.microsoft.com/msj/0498/iis/iis.aspx wspomina o tym na marginesie. – OmnipotentEntity

0

Nie jest to ściśle związane z twoim pytaniem, ale zamieszczam te 2 linki, ponieważ są one w pewien sposób połączone i mogą być przydatne.

Znalazłem sposób użycia "@" i "$" do przekształcenia Web.Config, ale nie znalazłem nic na "%", który nie jest ściśle związany ze zmiennymi środowiskowymi.

pierwszy link: "@"

Ten pierwszy link wyjaśnia stosowanie XDT: transform i XDT: Locator atrybutów, które można użyć w pliku web.config przekształcać pliki:

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

Ten przykład jest interesującym wykorzystaniem Internetu.Transformacja config stosując warunki z „@”:

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

drugi człon: „$”

Ten drugi związek pokazuje, jak używać „$”, aby przekształcić web.config omijając procedurę nudne ręcznie komentarz/Odkomentuj części web.config podczas wdrażania lub testowania w różnych serwerach:

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

wyciąg z linkiem, pokazujący jak używać MSBuild przekształcić web.config fil es począwszy od pliku projektu Web Application:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> 
    <OutputPath>bin\</OutputPath> 
</PropertyGroup> 
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> 
    <OutputPath>bin\</OutputPath> 
</PropertyGroup> 
Powiązane problemy