

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 Elastic Beanstalk .NET Windows 平台
<a name="create_deploy_NET.container.console"></a>

本主题介绍如何在 Elastic Beanstalk 上配置、构建和运行 ASP.NET 和 .NET Core Windows Web 应用程序。

Amazon Elastic Beanstalk 支持适用于不同版本的.NET 编程框架和 Windows 服务器的多种平台。有关完整列表，请参阅 *Amazon Elastic Beanstalk 平台*文档中的[使用 IIS 的 Windows Server 上的 .NET](https://docs.amazonaws.cn/elasticbeanstalk/latest/platforms/platforms-supported.html#platforms-supported.net)。

Elastic [Beanstalk 提供了](command-options.md)配置选项，您可以使用这些选项来自定义在 Elastic Beanstalk 环境中的实例 EC2 上运行的软件。您可以配置应用程序所需的环境变量，启用到 Amazon S3 的日志轮换，并设定 .NET Framework 设置。

Elastic Beanstalk 控制台中提供了配置选项，可用于[修改运行环境的配置](environment-configuration-methods-after.md)。要避免在终止环境时丢失环境配置，可以使用[保存的配置](environment-configuration-savedconfig.md)来保存您的设置，并在以后将这些设置应用到其他环境。

要保存源代码中的设置，您可以包含[配置文件](ebextensions.md)。在您每次创建环境或部署应用程序时，会应用配置文件中的设置。您还可在部署期间使用配置文件来安装程序包、运行脚本以及执行其他实例自定义操作。

在 Elastic Beanstalk 控制台中应用的设置会覆盖配置文件中的相同设置（如果存在）。这让您可以在配置文件中包含默认设置，并使用控制台中的特定环境设置加以覆盖。有关优先顺序和其他设置更改方法的更多信息，请参阅[配置选项](command-options.md)。

## 在 Elastic Beanstalk 控制台中配置 .NET 环境
<a name="dotnet-console"></a>

您可以使用 Elastic Beanstalk 控制台启用到 Amazon S3 的日志轮换，配置应用程序可以从环境中读取的变量以及更改 .NET Framework 设置。

**在 Elastic Beanstalk 控制台中配置 .NET 环境**

1. 打开 [Elastic Beanstalk](https://console.amazonaws.cn/elasticbeanstalk) 控制台，然后**在 “区域” 列表中，选择您**的。 Amazon Web Services 区域

1. 在导航窗格中，选择 **Environments**（环境），然后从列表中选择环境的名称。

1. 在导航窗格中，选择 **Configuration**（配置）。

1. 在 **Updates, monitoring, and logging**（更新、监控和日志记录）配置类别中，选择 **Edit**（编辑）。

### 容器选项
<a name="dotnet-console-framework"></a>
+ **Target .NET runtime**（目标 .NET 运行时）– 设置为 `2.0` 以运行 CLR v2。
+ **Enable 32-bit applications**（启用 32 位应用程序）– 设置为 `True` 可运行 32 位应用程序。

### 日志选项
<a name="dotnet-console-logs"></a>

“日志选项”部分有两个设置：
+ **Instance profile**（实例配置文件）– 指定有权访问与应用程序关联的 Amazon S3 存储桶的实例配置文件。
+ **启用向 Amazon S3 的日志文件轮换-指定是否将**应用程序的 Amazon EC2 实例的日志文件复制到与您的应用程序关联的 Amazon S3 存储桶中。

### 环境属性
<a name="dotnet-console-properties"></a>

**环境属性**部分允许您在运行您的应用程序的 Amazon EC2 实例上指定环境配置设置。这些设置会以密钥值对的方式传递到应用程序。使用 `System.GetEnvironmentVariable` 可读取它们。相同的密钥可以存在于 `web.config` 中，也可以作为环境属性存在。使用 `System.Configuration` 命名空间可读取 `web.config` 中的值。

```
NameValueCollection appConfig = ConfigurationManager.AppSettings;
string endpoint = appConfig["API_ENDPOINT"];
```

参阅 [环境变量和其他软件设置](environments-cfg-softwaresettings.md) 了解更多信息。

## aws:elasticbeanstalk:container:dotnet:apppool 命名空间
<a name="dotnet-namespaces"></a>

您可以使用[配置文件](ebextensions.md)设置配置选项并在部署期间执行其他实例配置。配置选项可以[特定于平台](command-options-specific.md)，也可以应用于整个 Elastic Beanstalk 服务中的[所有平台](command-options-general.md)。配置选项被组织到*命名空间*中。

.NET 平台在 `aws:elasticbeanstalk:container:dotnet:apppool` 命名空间中定义可用来配置 .NET 运行时的选项。

以下示例配置文件显示这个命名空间中可用的每个选项的设置：

**Example .ebextensions/dotnet-settings.config**  

```
option_settings:
  aws:elasticbeanstalk:container:dotnet:apppool:
    Target Runtime: 2.0
    Enable 32-bit Applications: True
```

Elastic Beanstalk 提供了许多用于自定义环境的配置选项。除了配置文件之外，您还可使用控制台、保存的配置、EB CLI 或 Amazon CLI来配置选项。参阅 [配置选项](command-options.md) 了解更多信息。