更新WebApi

master
bicijinlian 3 years ago
parent dee082e916
commit 36e4aa492d

File diff suppressed because it is too large Load Diff

@ -0,0 +1,14 @@
{
"runtimeOptions": {
"tfm": "net5.0",
"framework": {
"name": "Microsoft.AspNetCore.App",
"version": "5.0.0"
},
"configProperties": {
"System.GC.Server": true,
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
}
}
}

@ -0,0 +1,61 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>DockerStudyApi</name>
</assembly>
<members>
<member name="T:DockerStudyApi.Controllers.DemoController">
<summary>
配置测试控制器
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.Ping">
<summary>
服务测试
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.TestOption">
<summary>
说明泛型左右尖括号不能写在注释里会生成无效的xml
解决:用[]或{}或中文符号<> 代替或者使用xml转义字符 &lt;&gt;
获取 IOptionsTestOption
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.MonitorTestOption">
<summary>
获取 IOptionsMonitorTestOptionT
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.MonitorCacheTestOption">
<summary>
获取 IOptionsMonitorCacheTestOption
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.SnapshotTestOption">
<summary>
获取 IOptionsSnapshotTestOption
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.CmdPara(System.String)">
<summary>
获取命令参数
(仅支持字符串或Key=value两种形式)
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.Evn(System.String)">
<summary>
获取环境变量
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.ConfigItem(System.String)">
<summary>
获取配置项
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.Info">
<summary>
获取所有配置项
</summary>
</member>
</members>
</doc>

@ -0,0 +1,9 @@
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}

@ -0,0 +1,21 @@
{
"TestOption": {
"AppId": "WebApiDemo1",
"AppName": "示例WebApi",
"AppDesc": "Docker学习测试WebApi服务",
"AppVersion": {
"Major": 1,
"Minor": 5,
"Revision": 6,
"Build": 15236
}
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AllowedHosts": "*"
}

@ -0,0 +1,12 @@
<?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=".\DockerStudyApi.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
<!--ProjectGuid: 969d5123-0168-4a1d-998b-e3ad43e77b69-->

@ -0,0 +1,12 @@
{
"version": 1,
"isRoot": true,
"tools": {
"dotnet-ef": {
"version": "6.0.0",
"commands": [
"dotnet-ef"
]
}
}
}

@ -26,7 +26,15 @@ namespace DockerStudyApi.Controllers
private readonly IConfiguration _configuration;
public DemoController(ILogger<DemoController> logger, IOptions<TestOption> tespOption,IOptionsMonitor<TestOption> monitorTestOption,IOptionsMonitorCache<TestOption> monitorCacheTestOption,IOptionsSnapshot<TestOption> snapshotTestOption, IConfiguration configuration)
public DemoController
(
ILogger<DemoController> logger,
IOptions<TestOption> tespOption,
IOptionsMonitor<TestOption> monitorTestOption,
IOptionsMonitorCache<TestOption> monitorCacheTestOption,
IOptionsSnapshot<TestOption> snapshotTestOption,
IConfiguration configuration
)
{
_logger = logger;
_tespOption = tespOption;
@ -86,16 +94,73 @@ namespace DockerStudyApi.Controllers
return _snapshotTestOption.Value;
}
/// <summary>
/// 获取命令参数
/// (仅支持字符串或Key=value两种形式)
/// </summary>
[HttpGet]
public IActionResult CmdPara(string cmdName)
{
var cmdArgs = System.Environment.GetCommandLineArgs();
if (cmdArgs == null)
{
return Ok("启动时没有设置:命令行参数");
}
var kvArgs = new Dictionary<string,string>();
var singleArgs= new List<string>();
foreach (var arg in cmdArgs)
{
var item = arg.Split('=').ToList();
if (item.Count ==1)
{
singleArgs.Add(item[0]);
}
if (item.Count == 2)
{
kvArgs.Add(item[0], item[1]);
}
}
var result =string.Empty;
var kvArg = kvArgs.FirstOrDefault(q=>q.Key == cmdName);
if (kvArg.Key == cmdName)
{
result = kvArg.Value;
return Ok($"{cmdName} 命令参数值为:{kvArg.Value} ");
}
var singleArg = singleArgs.FirstOrDefault(q=> q == cmdName);
return Ok(singleArg ?? $"无 {cmdName} 命令参数 ");
}
/// <summary>
/// 获取环境变量
/// </summary>
[HttpGet]
public IActionResult Evn(string envName)
{
var envValue = _configuration.GetValue<string>(envName);
var envValue = System.Environment.GetEnvironmentVariable(envName);
return Ok(envValue??"无此环境变量");
}
/// <summary>
/// 获取配置项
/// </summary>
[HttpGet]
public IActionResult ConfigItem(string itemName)
{
var envValue = _configuration.GetValue<string>(itemName);
return Ok(envValue ?? "无此配置变量");
}
/// <summary>
/// 获取所有配置项
/// </summary>

@ -19,10 +19,10 @@ namespace DockerStudyApi
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
//.ConfigureAppConfiguration((hostingContext, config) =>
//{
// config.AddJsonFile("appsettings.json", false, true);
//})
.ConfigureAppConfiguration((hostingContext, config) =>
{
// config.AddJsonFile("appsettings.json", false, true);
})
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();

@ -1,4 +1,5 @@
{
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
@ -7,7 +8,6 @@
"sslPort": 0
}
},
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
@ -19,13 +19,14 @@
},
"DockerStudyApi": {
"commandName": "Project",
"commandLineArgs": "ApiVersion=1.0.0.1",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
},
"dotnetRunMessages": "true",
"applicationUrl": "http://localhost:5000"
"applicationUrl": "http://localhost:5000",
"dotnetRunMessages": "true"
},
"Docker": {
"commandName": "Docker",

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>DockerStudyApi</name>
</assembly>
<members>
<member name="T:DockerStudyApi.Controllers.DemoController">
<summary>
配置测试控制器
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.Ping">
<summary>
服务测试
</summary>
</member>
<!-- Badly formed XML comment ignored for member "M:DockerStudyApi.Controllers.DemoController.TestOption" -->
<!-- Badly formed XML comment ignored for member "M:DockerStudyApi.Controllers.DemoController.MonitorTestOption" -->
<!-- Badly formed XML comment ignored for member "M:DockerStudyApi.Controllers.DemoController.MonitorCacheTestOption" -->
<!-- Badly formed XML comment ignored for member "M:DockerStudyApi.Controllers.DemoController.SnapshotTestOption" -->
<member name="M:DockerStudyApi.Controllers.DemoController.Evn(System.String)">
<summary>
获取环境变量
</summary>
</member>
<member name="M:DockerStudyApi.Controllers.DemoController.Info">
<summary>
获取所有配置项
</summary>
</member>
</members>
</doc>
Loading…
Cancel
Save