{
"cells": [
"cell_type": "markdown",
"metadata": {
"dotnet_interactive": {
"language": "csharp"
},
"polyglot_notebook": {
"kernelName": "csharp"
}
"source": [
"ASP.NET WebApi 启动设置\n",
"======================"
]
"metadata": {},
"项目启动,一般分为两种:开发时的调试运行与发布后的正式部署。\n",
"\n",
"项目配置常用的配置:\n",
"1. 系统环境变量\n",
"2. 项目设置:一般保存在 `项目.csproj` 文件\n",
"3. 配置文件:`appsettings.json` `web.config` 及 `Properties/launchSettings.json`\n",
"4. 命令行参数\n",
"5. 程序启动代码:一般放在 `Program.cs` 和 `Startup.cs` 设置\n",
"特别注意:本次的重点是 `发布后的正式部署` 的启动项,并且是 `IIS 子程序`的情况,API项目一般设置启动项为 在线Swagger文档 `Swagger/index.html`。"
"## 开发调试时,设置启动项\n",
"暂时省略"
"## 发布、部署时,设置启动项"
"## 1、使用`环境变量`"
"启动项的环境变量名与启动参数名相同,均为Urls 这适合于一台服务器只有一个WebApi实例时,比如Docker下。"
"``` bat\n",
":: cmd 使用 进程内环境变量\n",
"set MyEnv=MyEnvTest\n",
"echo %MyEnv%\n",
"```"
"cell_type": "code",
"execution_count": 8,
"language": "pwsh"
"kernelName": "pwsh"
"vscode": {
"languageId": "polyglot-notebook"
"outputs": [
"name": "stdout",
"output_type": "stream",
"text": [
"启动地址为: http://localhost:7701\r\n"
],
"# PowerShell 环境变量\n",
"<#\n",
" 1、变量名在Window下不区分大小写,在Mac和Linux下区分大小写\n",
" 2、windows中,范围有三种:系统环境变量、用户环境变量和进程(powershell执行进程)环境变量\n",
" 3、三种使用方法:变量语法($Env:name)、环境提供程序和项 cmdlet、.NET System.Environment 类\n",
"#>\n",
"$Env:Urls='http://localhost:7701'\n",
"Write-Host \"启动地址为:\"$Env:Urls\n",
"# 新窗口启动WebAPI\n",
"Start-Process -FilePath PowerShell.exe -ArgumentList '..\\publish\\DefaultApi\\LaunchUrlStudy.DefaultApi.exe'"
"## 2、使用启动参数"
"使用`CMD命令`或者`dotnet命令`启动WebAPI时,直接使用urls参数,是最灵活、方便的方法。"
"```bat\n",
":: 打开cmd窗口中,输入以下命令\n",
"start \"Start WebAPI\" /i ..\\publish\\DefaultApi\\LaunchUrlStudy.DefaultApi.exe --urls=http://localhost:7702\n",
"execution_count": 2,
"outputs": [],
"# 使用cmd\n",
"Start-Process -FilePath PowerShell -ArgumentList '..\\publish\\DefaultApi\\LaunchUrlStudy.DefaultApi.exe --urls=http://localhost:7703 --launchbrowser=true'"
"kernelspec": {
"display_name": ".NET (C#)",
"language": "C#",
"name": ".net-csharp"
"language_info": {
"name": "python"
"kernelInfo": {
"defaultKernelName": "csharp",
"items": [
"aliases": [],
"name": "csharp"
"nbformat": 4,
"nbformat_minor": 2