Разное

Файл конфигурации web config: Файл web.config | Microsoft Learn

Файл web.config | Microsoft Learn

  • Статья
  • Чтение занимает 6 мин

web.config — это файл, который считывается службами IIS и модулем ASP.NET Core для настройки приложения, размещенного в службах IIS.

Расположение файла

web.config

Для корректной настройки модуля ASP.NET Core необходимо наличие файла web.config в корневой папке содержимого развертываемого приложения (как правило, это основной путь приложения). Это расположение соответствует физическому пути веб-сайта, указанному в службах IIS. Файл web.config требуется в корне приложения, чтобы разрешить публикацию нескольких приложений с помощью веб-развертывания.

По физическому пути приложения находятся файлы с конфиденциальной информацией, например, {ASSEMBLY}.runtimeconfig.json, {ASSEMBLY}.xml (комментарии к XML-документации) и {ASSEMBLY}.deps.json, где заполнитель {ASSEMBLY} представляет собой имя сборки. Когда файл web.config присутствует и сайт запускается нормально, службы IIS не обрабатывают запросы к этим файлам. Если файл web.config отсутствует, неправильно именован или не может настроить нормальный запуск сайта, службы IIS могут свободно передавать содержимое этих конфиденциальных файлов.

Файл web.config должен постоянно присутствовать в развертывании, а также иметь правильное имя и возможность настроить сайт для нормального запуска. Никогда не удаляйте файл web.config из развертывания в рабочей среде.

Если в проекте нет файла web.config, он создается с соответствующими аргументами

processPath и arguments для настройки модуля ASP. NET Core и переносится в опубликованные выходные данные.

Если в проекте есть файл web.config, он преобразуется с соответствующими аргументами processPath и arguments для настройки модуля ASP.NET Core и переносится в опубликованные выходные данные. Преобразование не изменяет параметры конфигурации служб IIS, включенные в файл.

Файл web.config может содержать дополнительные параметры конфигурации IIS, управляющие активными модулями IIS. Сведения о модулях IIS, которые могут обрабатывать запросы к приложениям ASP.NET Core, см. в статье Модули IIS.

Создание, преобразование и публикация файла web.config обрабатываются целевым объектом MSBuild (_TransformWebConfig) при публикации проекта. Этот целевой объект присутствует в целевых веб-пакетах SDK (

Microsoft.NET.Sdk.Web). Пакет SDK задается в начале файла проекта:

<Project Sdk="Microsoft.NET.Sdk.Web">

Чтобы веб-пакет SDK не преобразовывал файл web. config, используйте свойство <IsTransformWebConfigDisabled> в файле проекта:

<PropertyGroup>
  <IsTransformWebConfigDisabled>true</IsTransformWebConfigDisabled>
</PropertyGroup>

Если пакет SDK не преобразует файл, аргументы processPath и arguments нужно задать вручную. Дополнительные сведения см. в разделе Модуль ASP.NET Core для IIS.

Настройка модуля ASP.NET Core с помощью

web.config

Модуль ASP.NET Core настроен с помощью раздела aspNetCore узла system.webServer файла web.config на веб-сайте.

Следующий файл web.config публикуется для зависимого от платформы развертывания и настраивает модуль ASP.NET Core для обработки запросов к веб-сайту.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath="dotnet"
                  arguments=". \MyApp.dll"
                  stdoutLogEnabled="false"
                  stdoutLogFile=".\logs\stdout"
                  hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>

Следующий файл web.config опубликован для автономного развертывания.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <location path="." inheritInChildApplications="false">
    <system.webServer>
      <handlers>
        <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
      </handlers>
      <aspNetCore processPath=".\MyApp.exe"
                  stdoutLogEnabled="false"
                  stdoutLogFile=".\logs\stdout"
                  hostingModel="inprocess" />
    </system.webServer>
  </location>
</configuration>

Значение false свойства InheritInChildApplications указывает, что параметры, заданные в элементе <location>, не наследуются приложениями, которые находятся во вложенном каталоге приложения.

Когда приложение развернуто в службе приложений Azure, путь

stdoutLogFile задан как \\?\%home%\LogFiles\stdout. Путь сохраняет журналы stdout в папке LogFiles, расположение которой автоматически создается службой.

Сведения о конфигурации дочерних приложений IIS см. в разделе Расширенные конфигурации.

Атрибуты элемента

aspNetCore
attributeОписаниеЗначение по умолчанию
arguments

Необязательный строковый атрибут.

Аргументы для исполняемого файла, указанного в атрибуте processPath.

disableStartUpErrorPage

Дополнительный логический атрибут.

Если значение равно true, страница 502.5 — ошибка процесса подавляется и страница в файле web.config с кодом состояния 502 имеет более высокий приоритет.

false
forwardWindowsAuthToken

Дополнительный логический атрибут.

Если значение равно true, маркер безопасности отправляется дочернему процессу, прослушивающему порт %ASPNETCORE_PORT%, как заголовок MS-ASPNETCORE-WINAUTHTOKEN каждого запроса. Этот процесс вызывает CloseHandle по этому маркеру безопасности каждого запроса.

true
hostingModel

Необязательный строковый атрибут.

Указывает модель размещения — внутри процесса (InProcess/inprocess) или вне процесса (OutOfProcess/outofprocess).

OutOfProcess/outofprocess при отсутствии
processesPerApplication

Необязательный целочисленный атрибут.

Указывает число экземпляров процесса, заданное в параметре processPath, которое может появиться для каждого приложения.

†Для внутрипроцессного размещения установлено ограничение 1.

Параметр processesPerApplication не рекомендуется. Этот атрибут будет удален в будущем выпуске.

По умолчанию: 1
Минимум: 1
Максимальное значение: 100
processPath

Обязательный строковый атрибут.

Путь к исполняемому файлу, который запускает процесс прослушивания HTTP-запросов. Поддерживаются относительные пути. Если путь начинается с ., то начало пути считается относительно корневого каталога веб-сайта.

rapidFailsPerMinute

Необязательный целочисленный атрибут.

Указывает количество сбоев за минуту, которыми может завершиться процесс, указанный в processPath. Если этот предел превышен, модуль останавливает запуск процесса на оставшуюся часть минуты.

Не поддерживается для внутрипроцессного размещения.

По умолчанию: 10
Минимум: 0
Максимум: 100
requestTimeout

Необязательный атрибут timespan.

Указывает продолжительность, на протяжении которой модуль ASP.NET Core ожидает ответа от процесса, прослушивающего порт %ASPNETCORE_PORT%.

В версиях модуля ASP.NET Core, поставляемых с выпуском ASP.NET Core 2.1 или новее, атрибут requestTimeout указывается в часах, минутах и секундах.

Не применяется к внутрипроцессному размещению. Для внутрипроцессного размещения модуль ожидает, пока приложение не обработает запрос.

Допустимые значения для сегментов минут и секунд в строках находятся в диапазоне 0–59. Значение

60 для минут и секунд приведет к ошибке 500 — внутренняя ошибка сервера.

По умолчанию: 00:02:00
Минимум: 00:00:00
Максимум: 360:00:00
shutdownTimeLimit

Необязательный целочисленный атрибут.

Длительность ожидания модуля в секундах, пока произойдет правильное выключение исполняемого файла при обнаружении файла app_offline. htm.

По умолчанию: 10
Минимум: 0
Максимум: 600
startupTimeLimit

Необязательный целочисленный атрибут.

Время в секундах, которое модуль ожидает, пока запустится процесс прослушивания порта исполняемого файла. Если этот предел превышен, модуль завершает процесс.

Внутрипроцессное

размещение. Процесс не перезапускается, и параметр rapidFailsPerMinuteне используется.

Размещение вне процесса. Модуль пытается перезапустить процесс при получении нового запроса и будет продолжать пытаться перезапустить процесс для последующих входящих запросов, если не удается запустить приложение определенное в атрибуте rapidFailsPerMinute количество раз за последнюю минуту.

Значение 0 (ноль) не считается бесконечным временем ожидания.

По умолчанию: 120
Минимум: 0
Максимум: 3600
stdoutLogEnabled

Дополнительный логический атрибут.

Если значение равно true, stdout и stderr для процесса, указанного в атрибуте processPath, перенаправляются к файлу, заданному в атрибуте stdoutLogFile.

false
stdoutLogFile

Необязательный строковый атрибут.

Указывает относительный или абсолютный путь к файлу, для которого регистрируются stdout и stderr из процесса, указанного в processPath. Относительные пути задаются относительно корневого каталога веб-сайта. Любой путь, начинающийся с ., относится к корневому каталогу веб-сайта, а все остальные пути рассматриваются как абсолютные пути. Все папки, указанные в пути, создаются модулем при создании файла журнала. С помощью разделителей подчеркивания метка времени, идентификатор процесса и расширение файла ( .log) добавляются к последнему сегменту пути журнала stdoutLogFile. Если в качестве значения задано значение . \logs\stdout, например, журнал stdout сохраняется как stdout_20180205194132_1934.log в папке logs с датой 5 февраля 2018 г. в 19:41:32 с идентификатором процесса 1934.

aspnetcore-stdout

Настройка переменных среды

Переменные среды для процесса можно указать в атрибуте processPath. Укажите переменную среды с дочерним элементом <environmentVariable> элемента коллекции <environmentVariables>. Переменные среды, установленные в этом разделе, имеют приоритет над переменными системной среды.

В приведенном ниже примере устанавливаются две переменные среды в web.config. ASPNETCORE_ENVIRONMENT настраивает среду приложения для Development. Разработчик может временно задать это значение в файле web.config, чтобы принудительно загрузить Страницу исключений для разработчиков при отладке исключения приложения. CONFIG_DIR — пример пользовательской переменной среды, где разработчик написал код, который считывает значение при запуске, чтобы сформировать путь для загрузки файла конфигурации приложения.

<aspNetCore processPath="dotnet"
      arguments=".\MyApp.dll"
      stdoutLogEnabled="false"
      stdoutLogFile=".\logs\stdout"
      hostingModel="inprocess">
  <environmentVariables>
    <environmentVariable name="ASPNETCORE_ENVIRONMENT" value="Development" />
    <environmentVariable name="CONFIG_DIR" value="f:\application_config" />
  </environmentVariables>
</aspNetCore>

Примечание

Вместо установки среды напрямую в web.config можно включить свойство <EnvironmentName> в профиль публикации (.pubxml) или файл проекта. При этом подходе во время публикации проекта среда задается в файле web.config:

<PropertyGroup>
  <EnvironmentName>Development</EnvironmentName>
</PropertyGroup>

Предупреждение

Установите только переменную среды ASPNETCORE_ENVIRONMENT для Development на серверах промежуточных процессов и тестирования, которые недоступны для ненадежных сетей, таких как Интернет.

Настройка служб IIS с помощью

web.config

Конфигурация IIS зависит от <system.webServer> раздела web.config для сценариев IIS, предназначенных для работы приложений ASP.NET Core с помощью модуля ASP.NET Core. Например, конфигурация IIS работает для динамического сжатия. Если в службах IIS на уровне сервера настроено динамическое сжатие, элемент <urlCompression> в файле web.config приложения может отключить это сжатие для приложения ASP.NET Core.

Дополнительные сведения см. в следующих разделах:

  • Справочник по настройке для <system.webServer>
  • Модуль ASP.NET Core (ANCM) для IIS
  • Модули IIS с ASP.NET Core

Сведения о настройке переменных среды для отдельных приложений, выполняющихся в изолированных пулах приложений (такая возможность поддерживается в службах IIS, начиная с версии 10.0), см. в разделе Команда AppCmd.exe статьи Переменные среды <environmentVariables> в справочной документации по службам IIS.

Разделы конфигурации

web.config

Разделы конфигурации приложений ASP.NET 4.x в файле web.config не используются для конфигурации приложений ASP.NET Core.

  • <system.web>
  • <appSettings>
  • <connectionStrings>
  • <location>

Для настройки приложений ASP.NET Core используются другие поставщики конфигураций. Дополнительные сведения см. в разделе Конфигурация.

Преобразование web.config

Если вам нужно преобразовать web.config при публикации, см. статью Преобразование web.config. Возможно, вам потребуется выполнить преобразование web.config при публикации, чтобы задать переменные среды на основе конфигурации, профиля или среды.

Дополнительные ресурсы

  • Службы IIS <system.webServer>
  • Модули IIS с ASP.NET Core
  • Преобразование web.config

Изменение конфигурации ASP.

NET приложения — ASP.NET

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья
  • Чтение занимает 2 мин

В этой статье описывается изменение Web. configфайла ASP.NET приложения.

Исходная версия продукта: ASP.NET
Исходный номер базы знаний: 815178

Аннотация

Файл Web.config определяет поведение ASP.NET приложений. Microsoft платформа .NET Framework, включая ASP.NET, использует текстовые файлы в формате XML.config для настройки приложений. Это отклонение от стандартных механизмов настройки реестра и метабаза. В настоящее время нет оснастки консоли управления (MMC) или другого предоставленного корпорацией Майкрософт средства администрирования для создания и изменения .config файлов.

Добавление параметров конфигурации в Web.config

Большинство ASP.NET приложений содержит предварительно созданный Web.config, который можно редактировать с помощью любого текстового редактора, например Блокнота. Как правило, Web.config файлы содержат комментарии, которые делают редактирование файла понятным. Однако может потребоваться добавить элементы конфигурации вWeb. config, в котором еще не определен элемент конфигурации. Чтобы добавить стандартный элемент конфигурации в файлWeb.config, выполните следующие действия.

  1. Откройте файл Machine.config в текстовом редакторе, например в Блокноте.

    Файл Machine.config расположен в каталоге %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\ .

  2. В Machine.config найдите параметр конфигурации, который необходимо переопределить, в Web.configфайле. Если элемент содержит несколько строк, элемент начинается с строки <element_name> и заканчивается строкой </element_name>. Элемент также может быть самозаверяющий и выглядеть примерно так <element_name attribute1='option' attribute2='option' />. Пробелы игнорируются. Таким образом, элемент может охватывать несколько строк. Перед элементом может предшествовать комментарий. Комментарий содержится внутри <!-- and --> маркировки. Приведенный <trace> ниже пример элемента конфигурации является примером самозаверяющего элемента. Пример <trace> элемента конфигурации содержит несколько атрибутов, охватывает несколько строк и комментарий в начале.

    <!--
    trace Attributes:
        enabled="[true|false]" - Enable application tracing
        localOnly="[true|false]" - View trace results from localhost only
        pageOutput="[true|false]" - Display trace output on individual pages
        requestLimit="[number]" - Number of trace results available in trace.axd
        traceMode="[SortByTime|SortByCategory]" - Sorts trace result displays based on Time or Category
     -->
    <trace
        enabled="false"
        localOnly="true"
        pageOutput="false"
        requestLimit="10"
        traceMode="SortByTime"
    />
    
  3. Скопируйте весь элемент конфигурации и любой начальный комментарий в буфер обмена.

  4. Определите, как элемент вложен вMachine.configфайла .

    Файл Machine. config иерархический, а элементы конфигурации вложены в другие элементы. При копировании элемента конфигурации из файлаMachine.config в файлWeb.configнеобходимо вложить этот элемент конфигурации в тот же элемент, из которого он был скопирован. Чтобы определить элемент файла Machine.config , в котором содержится элемент конфигурации, прокрутите файлMachine.configдо тех пор, пока не найдете открытый, а не закрытый элемент. Содержащийся элемент легко определить, так как элементы более высокого уровня имеют меньший отступ.

    Большинство ASP.NET элементов конфигурации содержатся в элементе <system.web> . Конец элемента ( </system.web> ) должен быть помещен после элемента конфигурации.

    Примечание.

    Элемент, в котором содержится элемент конфигурации. Необходимо вставить этот элемент в тот же элемент вWeb.config файле. Элемент конфигурации может быть вложен в несколько элементов. Необходимо создать все элементы более высокого уровня вWeb. configфайла .

  5. ЗакройтеMachine.config, а затем с помощью текстового редактора откройте файлWeb.config в корневом каталоге ASP.NET приложения.

  6. Вставьте элемент конфигурации между началом и окончанием элемента, определенного на шаге 4.

    Например, если <system.web> элемент конфигурации содержится в элементе, <system.web></system.web> элемент конфигурации необходимо вставить сразу после открывающей строки элемента и перед закрывающей линией.

  7. Измените элемент конфигурации в файлеWeb.config , чтобы переопределить параметр Machine.config для этого приложения.

    Этот параметр применяется к папке, которая содержит Web.configи все вложенные папки.

Ссылки

  • Создание файла Web.config для ASP.NET приложения

  • Развертывание приложений, созданных на основе платформа .NET Framework

  • ASP. NET конфигурации

  • Формат файлов ASP.NET конфигурации

файл web.config | Microsoft Learn

  • Статья
  • 8 минут на чтение

web.config — это файл, который считывается IIS и основным модулем ASP.NET для настройки приложения, размещенного в IIS.

web.config расположение файла

Чтобы правильно настроить модуль ASP.NET Core, файл web.config должен присутствовать в корневом пути содержимого (обычно это базовый путь приложения) развернутого приложения. Это то же место, что и физический путь веб-сайта, предоставленный IIS. Файл web.config требуется в корне приложения, чтобы разрешить публикацию нескольких приложений с помощью веб-развертывания.

На физическом пути к приложению существуют конфиденциальные файлы, например {ASSEMBLY}.runtimeconfig.json , {ASSEMBLY}.xml (комментарии к XML-документации) и {ASSEMBLY}.deps.json , где заполнитель {ASSEMBLY} — это имя сборки. Когда файл web.config присутствует и сайт запускается нормально, IIS не обслуживает эти конфиденциальные файлы, если они запрашиваются. Если файл web.config отсутствует, имеет неправильное имя или не может настроить сайт для нормального запуска, IIS может предоставлять конфиденциальные файлы публично.

9Файл 0015 web.config должен постоянно присутствовать в развертывании, иметь правильное имя и иметь возможность настроить сайт для нормального запуска. Никогда не удаляйте файл web.config из производственного развертывания.

Если файл web.config отсутствует в проекте, файл создается с правильными аргументами processPath и для настройки модуля ASP. NET Core и перемещается в опубликованные выходные данные.

Если web.config присутствует в проекте, файл преобразуется с правильным processPath и аргументами для настройки основного модуля ASP.NET и перемещается в опубликованные выходные данные. Преобразование не изменяет параметры конфигурации IIS в файле.

Файл web.config может содержать дополнительные параметры конфигурации IIS, управляющие активными модулями IIS. Сведения о модулях IIS, способных обрабатывать запросы с приложениями ASP.NET Core, см. в разделе о модулях IIS.

Создание, преобразование и публикация файла web.config обрабатывается целью MSBuild ( _TransformWebConfig ) при публикации проекта. Эта цель присутствует в целях Web SDK ( Microsoft.NET.Sdk.Web ). SDK устанавливается в верхней части файла проекта:

 
 

Чтобы предотвратить преобразование Web SDK файла web. config , используйте параметр свойство в файле проекта:

 
  true

 

При отключении Web SDK от преобразования файла аргументы processPath и должны быть установлены вручную разработчиком. Дополнительные сведения см. в разделе Основной модуль ASP.NET (ANCM) для IIS.

Конфигурация основного модуля ASP.NET с

web.config

Основной модуль ASP.NET настроен с раздел aspNetCore узла system.webServer в файле web.config сайта.

Следующий файл web.config публикуется для зависимого от платформы развертывания и настраивает основной модуль ASP.NET для обработки запросов сайта:

 
<конфигурация>
  <местоположение = "." inheritInChildApplications="false">
    <системный. веб-сервер>
      <обработчики>
        
      
      
    
  

 

Следующий web.config опубликован для автономного развертывания:

 
<конфигурация>
  <местоположение = "." inheritInChildApplications="false">
    <системный.веб-сервер>
      <обработчики>
        
      
      
     веб-сервер>
  

 

Свойству InheritInChildApplications присвоено значение false , чтобы указать, что параметры, указанные в элементе , не наследуются приложениями, которые находятся в подкаталоге приложения.

Когда приложение развертывается в службе приложений Azure, для пути stdoutLogFile задается значение \\?\%home%\LogFiles\stdout . Путь сохраняет журналы стандартного вывода в папку LogFiles , которая автоматически создается службой.

Сведения о настройке подприложения IIS см. в разделе Расширенная настройка.

Атрибуты элемента

aspNetCore
Атрибут Описание По умолчанию
аргументы

Необязательный строковый атрибут.

Аргументы для исполняемого файла, указанного в processPath .

DisableStartUpErrorPage

Необязательный логический атрибут.

Если true, страница 502.5 — Ошибка процесса подавляется, а кодовая страница состояния 502, настроенная в web.config , имеет приоритет.

ложный
впередWindowsAuthToken

Необязательный логический атрибут.

Если значение равно true, токен пересылается дочернему процессу, прослушивающему %ASPNETCORE_PORT% , в качестве заголовка «MS-ASPNETCORE-WINAUTHTOKEN» для каждого запроса. Этот процесс отвечает за вызов CloseHandle для этого токена для каждого запроса.

правда
хостингМодель

Необязательный строковый атрибут.

Определяет модель размещения как внутрипроцессную ( InProcess / inprocess ) или внепроцессную ( OutOfProcess / outofprocess ).

OutOfProcess / outofprocess если нет
процессов на приложение

Необязательный целочисленный атрибут.

Указывает количество экземпляров процесса, указанного в параметре processPath , которые могут быть развернуты для каждого приложения.

†Для внутрипроцессного хостинга значение ограничено 1 .

Установка процессовPerApplication не рекомендуется. Этот атрибут будет удален в будущем выпуске.

По умолчанию: 1
Мин.: 1
Макс.: 100
путь процесса

Обязательный строковый атрибут.

Путь к исполняемому файлу, который запускает процесс прослушивания HTTP-запросов. Относительные пути поддерживаются. Если путь начинается с . путь считается относительным к корню сайта.

RapidFailsPerMinute

Необязательный целочисленный атрибут.

Указывает, сколько раз в минуту процесс, указанный в processPath , может аварийно завершать работу. При превышении этого лимита модуль прекращает запуск процесса до конца минуты.

Не поддерживается внутрипроцессным размещением.

По умолчанию: 10
Мин.: 0
Макс.: 100
время ожидания запроса

Необязательный атрибут временного интервала.

Задает время, в течение которого основной модуль ASP.NET ожидает ответа от процесса, прослушивающего %ASPNETCORE_PORT%.

В версиях модуля ASP.NET Core, поставляемых с выпуском ASP.NET Core 2.1 или более поздней версии, requestTimeout указывается в часах, минутах и ​​секундах.

Не применяется к внутрипроцессному хостингу. Для внутрипроцессного хостинга модуль ожидает, пока приложение обработает запрос.

Допустимые значения минут и секунд сегментов строки находятся в диапазоне 0-59. Использование 60 в значении минут или секунд приводит к ошибке 500 — Internal Server Error .

По умолчанию: 00:02:00
Мин.: 00:00:00
Макс.: 360:00:00
выключениеTimeLimit

Необязательный целочисленный атрибут.

Продолжительность в секундах, в течение которой модуль ожидает корректного завершения работы исполняемого файла при обнаружении файла app_offline.htm .

По умолчанию: 10
Мин.: 0
Макс.: 600
StartupTimeLimit

Необязательный целочисленный атрибут.

Продолжительность в секундах, в течение которой модуль ожидает запуска исполняемым файлом процесса прослушивания порта. Если это время превышено, модуль убивает процесс.

При размещении в процессе : Процесс , а не , перезапущен, и использует ли , а не настройку rapidFailsPerMinute .

При размещении вне процесса : модуль пытается перезапустить процесс при получении нового запроса и продолжает попытки перезапустить процесс при последующих входящих запросах, если приложение не запускается rapidFailsPerMinute количество раз за последнюю скользящую минуту.

Значение 0 (ноль) означает, что , а не , считается бесконечным временем ожидания.

По умолчанию: 120
Мин.: 0
Макс.: 3600
stdoutLogEnabled

Необязательный логический атрибут.

Если true, stdout и stderr для процесса, указанного в processPath , перенаправляются в файл, указанный в stdoutLogFile .

ложный
stdoutLogFile

Необязательный строковый атрибут.

Указывает относительный или абсолютный путь к файлу, для которого регистрируются stdout и stderr из процесса, указанного в processPath . Относительные пути относятся к корню сайта. Любой путь, начинающийся с . относятся к корню сайта, а все остальные пути рассматриваются как абсолютные пути. Любые папки, указанные в пути, создаются модулем при создании файла журнала. Используя разделители подчеркивания, отметку времени, идентификатор процесса и расширение файла ( .log ) добавляются в последний сегмент пути stdoutLogFile . Если в качестве значения указано .\logs\stdout , пример журнала stdout сохраняется как stdout_20180205194132_1934.log в папке logs при сохранении 5 февраля 2018 г. в 19:41:32 с идентификатором процесса 1934.

aspnetcore-stdout

Установить переменные среды

Переменные среды можно указать для процесса в атрибут processPath . Укажите переменную среды с дочерним элементом элемента коллекции . Переменные среды, установленные в этом разделе, имеют приоритет над системными переменными среды.

В следующем примере две переменные среды задаются в web. config . ASPNETCORE_ENVIRONMENT настраивает среду приложения на Development . Разработчик может временно установить это значение в web.config , чтобы заставить страницу исключений разработчика загружаться при отладке исключения приложения. CONFIG_DIR — это пример определяемой пользователем переменной среды, где разработчик написал код, который считывает значение при запуске, чтобы сформировать путь для загрузки файла конфигурации приложения.

 
  <переменные среды>
    
    
  

 

Примечание

Альтернативой настройке среды непосредственно в web.config является включение свойства в профиль публикации ( . pubxml ) или файл проекта. Этот подход устанавливает среду в web.config при публикации проекта:

 
  Разработка

 

Предупреждение

Установите только ASPNETCORE_ENVIRONMENT переменная среды для Development на промежуточных и тестовых серверах, недоступных для ненадежных сетей, таких как Интернет.

Конфигурация IIS с

web.config

На конфигурацию IIS влияет раздел файла web.config для сценариев IIS, которые работают для приложений ASP.NET Core с ASP.NET Основной модуль. Например, конфигурация IIS поддерживает динамическое сжатие. Если IIS настроен на уровне сервера для использования динамического сжатия, Элемент в файле web.config приложения может отключить его для приложения ASP.NET Core.

Дополнительные сведения см. в следующих разделах:

  • Справочник по конфигурации для
  • Базовый модуль ASP.NET (ANCM) для IIS
  • модулей IIS с ASP.NET Core

Чтобы установить переменные среды для отдельных приложений, работающих в изолированных пулах приложений (поддерживается для IIS 10.0 или более поздней версии), см. AppCmd.exe команда раздела Переменные среды раздела справочной документации IIS.

Разделы конфигурации

web.config

Разделы конфигурации приложений ASP.NET 4.x в web.config не используются приложениями ASP.NET Core для настройки:

  • <Настройки приложения>
  • <местоположение>

Приложения ASP.NET Core настраиваются с использованием других поставщиков конфигурации. Дополнительные сведения см. в разделе Конфигурация.

Преобразование web.config

Если вам нужно преобразовать web.config при публикации, см. раздел Преобразование web.config. Вам может потребоваться преобразовать web.config при публикации, чтобы установить переменные среды на основе конфигурации, профиля или среды.

Дополнительные ресурсы

  • IIS <системный.веб-сервер>
  • модулей IIS с ASP.NET Core
  • Преобразование web.config

Преобразование web.config | Microsoft Узнайте

Редактировать

Твиттер LinkedIn Фейсбук Электронная почта

  • Статья
  • 2 минуты на чтение

Виджай Рамакришнан

Преобразования в файл web. config могут применяться автоматически при публикации приложения на основе:

  • Конфигурация сборки
  • Профиль
  • Окружающая среда
  • Пользовательский

Эти преобразования выполняются для одного из следующих сценариев создания web.config :

  • Генерируется автоматически Microsoft.NET.Sdk.Web SDK.
  • Предоставляется разработчиком в корне содержимого приложения.

Конфигурация сборки

Сначала выполняются преобразования конфигурации сборки.

Включите файл web.{CONFIGURATION}.config для каждой конфигурации сборки (Отладка|Выпуск), требующей преобразования web.config .

В следующем примере переменная среды для конкретной конфигурации задается в web.Release.config :

 
<конфигурация xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <местоположение>
    <системный.веб-сервер>
      
        
          
        
      
     веб-сервер>
  

 

Преобразование применяется, когда для конфигурации задано значение Release :

 dotnet publish --configuration Release
 

Свойство MSBuild для конфигурации: $(Configuration) .

Профиль

Преобразования профиля выполняются вторыми после преобразования конфигурации сборки.

Включите файл web.{PROFILE}.config для каждой конфигурации профиля, требующей преобразования web.config .

В следующем примере переменная среды для конкретного профиля устанавливается в web.FolderProfile.config для профиля публикации папки:

 
<конфигурация xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <местоположение>
    <системный.веб-сервер>
      
        
          
        
      
     веб-сервер>
  

 

Преобразование применяется, когда используется профиль FolderProfile :

 dotnet publish --configuration Release /p:PublishProfile=FolderProfile
 

Свойство MSBuild для имени профиля: $(PublishProfile) .

Если профиль не передан, имя профиля по умолчанию — FileSystem , а web.FileSystem.config применяется, если файл присутствует в корне содержимого приложения.

Среда

Преобразования среды выполняются третьими после преобразования конфигурации сборки и профиля.

Включите файл web.{ENVIRONMENT}.config для каждой среды, требующей преобразования web.config .

В следующем примере в web.Production.config для производственной среды задана переменная среды для конкретной среды:

 
<конфигурация xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <местоположение>
    <системный. веб-сервер>
      
        
          
        
      
    
  

 

Преобразование применяется, когда используется среда Production :

 dotnet publish --configuration Release /p:EnvironmentName=Production
 

Свойство MSBuild для среды: $(EnvironmentName) .

При публикации из Visual Studio и использовании профиля публикации см. раздел Профили публикации Visual Studio (.pubxml) для развертывания приложений ASP.NET Core.

Переменная среды ASPNETCORE_ENVIRONMENT автоматически добавляется в файл web.config , если указано имя среды.

Пользовательский

Пользовательские преобразования выполняются в последнюю очередь после преобразований «Конфигурация сборки», «Профиль» и «Среда».

Включите файл {CUSTOM_NAME}.transform для каждой пользовательской конфигурации, требующей преобразования web.config .

В следующем примере пользовательская переменная среды преобразования задается в custom.transform :

 
<конфигурация xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <местоположение>
    <системный.веб-сервер>
      
        
          
        
      
    
  

 

Преобразование применяется, когда свойство CustomTransformFileName передается команде публикации dotnet:

 публикация dotnet --configuration Release /p:CustomTransformFileName=custom.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *