Aspire 13.1 新特性与 MCP 工具
This commit is contained in:
parent
b11ba4f6a5
commit
54a2f5275d
3
.aspire/settings.json
Normal file
3
.aspire/settings.json
Normal file
@ -0,0 +1,3 @@
|
||||
{
|
||||
"appHostPath": "../src/HelloShop.AppHost/HelloShop.AppHost.csproj"
|
||||
}
|
||||
@ -4,14 +4,14 @@
|
||||
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageVersion Include="Aspire.Hosting.Maui" Version="13.0.2-preview.1.25603.5" />
|
||||
<PackageVersion Include="Aspire.Hosting.PostgreSQL" Version="13.0.2" />
|
||||
<PackageVersion Include="Aspire.Hosting.RabbitMQ" Version="13.0.2" />
|
||||
<PackageVersion Include="Aspire.Hosting.Redis" Version="13.0.2" />
|
||||
<PackageVersion Include="Aspire.Hosting.Testing" Version="13.0.2" />
|
||||
<PackageVersion Include="Aspire.Npgsql.EntityFrameworkCore.PostgreSQL" Version="13.0.2" />
|
||||
<PackageVersion Include="Aspire.RabbitMQ.Client" Version="13.0.2" />
|
||||
<PackageVersion Include="Aspire.StackExchange.Redis.DistributedCaching" Version="13.0.2" />
|
||||
<PackageVersion Include="Aspire.Hosting.Maui" Version="13.1.0-preview.1.25616.3" />
|
||||
<PackageVersion Include="Aspire.Hosting.PostgreSQL" Version="13.1.0" />
|
||||
<PackageVersion Include="Aspire.Hosting.RabbitMQ" Version="13.1.0" />
|
||||
<PackageVersion Include="Aspire.Hosting.Redis" Version="13.1.0" />
|
||||
<PackageVersion Include="Aspire.Hosting.Testing" Version="13.1.0" />
|
||||
<PackageVersion Include="Aspire.Npgsql.EntityFrameworkCore.PostgreSQL" Version="13.1.0" />
|
||||
<PackageVersion Include="Aspire.RabbitMQ.Client" Version="13.1.0" />
|
||||
<PackageVersion Include="Aspire.StackExchange.Redis.DistributedCaching" Version="13.1.0" />
|
||||
<PackageVersion Include="AutoMapper" Version="16.0.0" />
|
||||
<PackageVersion Include="Blazored.FluentValidation" Version="2.2.0" />
|
||||
<PackageVersion Include="CommunityToolkit.Aspire.Hosting.Dapr" Version="13.0.1-beta.468" />
|
||||
|
||||
@ -20,9 +20,12 @@ public class OpenApiConfigureOptions(IConfiguredServiceEndPointResolver serviceR
|
||||
UriBuilder uriBuilder = new(endPoint) { Path = "/openapi/v1.json" };
|
||||
|
||||
try
|
||||
{
|
||||
{
|
||||
HttpRequestMessage request = new(HttpMethod.Get, uriBuilder.Uri) { Version = new Version(2, 0) };
|
||||
HttpResponseMessage response = httpClient.SendAsync(request).GetAwaiter().GetResult();
|
||||
|
||||
using CancellationTokenSource cts = new(TimeSpan.FromSeconds(5));
|
||||
HttpResponseMessage response = httpClient.SendAsync(request, cts.Token).GetAwaiter().GetResult();
|
||||
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
urlDescriptors.Add(new UrlDescriptor
|
||||
@ -32,18 +35,35 @@ public class OpenApiConfigureOptions(IConfiguredServiceEndPointResolver serviceR
|
||||
});
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (logger.IsEnabled(LogLevel.Warning))
|
||||
{
|
||||
logger.LogWarning("Failed to get swagger endpoint for {ServiceName} at {Endpoint}, Status: {StatusCode}",
|
||||
serviceEndpoint.ServiceName, uriBuilder.Uri, response.StatusCode);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
if (logger.IsEnabled(LogLevel.Warning))
|
||||
{
|
||||
logger.LogWarning("Timeout getting swagger endpoint for {ServiceName} at {Endpoint}",
|
||||
serviceEndpoint.ServiceName, uriBuilder.Uri);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (logger.IsEnabled(LogLevel.Error))
|
||||
if (logger.IsEnabled(LogLevel.Warning))
|
||||
{
|
||||
logger.LogError(ex, "Failed to get swagger endpoint for {ServiceName}", serviceEndpoint.ServiceName);
|
||||
logger.LogWarning(ex, "Failed to get swagger endpoint for {ServiceName} at {Endpoint}",
|
||||
serviceEndpoint.ServiceName, uriBuilder.Uri);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
options.ConfigObject.Urls = urlDescriptors;
|
||||
|
||||
options.ConfigObject.Urls = urlDescriptors;
|
||||
options.SwaggerEndpoint("/openapi/v1.json", "apiservice");
|
||||
}
|
||||
}
|
||||
|
||||
@ -25,6 +25,12 @@ builder.Services.AddReverseProxy()
|
||||
|
||||
builder.Services.AddSingleton<IConfiguredServiceEndPointResolver, ConfiguredServiceEndPointResolver>();
|
||||
builder.Services.AddSingleton<IReverseProxyConfigProvider, CustomReverseProxyConfigProvider>();
|
||||
|
||||
builder.Services.AddHttpClient<OpenApiConfigureOptions>(client =>
|
||||
{
|
||||
client.Timeout = TimeSpan.FromSeconds(30);
|
||||
});
|
||||
|
||||
builder.Services.AddTransient<IConfigureOptions<SwaggerUIOptions>, OpenApiConfigureOptions>();
|
||||
builder.Services.AddTransient<IPermissionService, PermissionService>();
|
||||
|
||||
|
||||
@ -10,5 +10,7 @@ spec:
|
||||
value: "localhost:6379"
|
||||
- name: redisPassword
|
||||
value: "guest"
|
||||
- name: enableTLS
|
||||
value: "true"
|
||||
auth:
|
||||
secretStore: env-secretstore
|
||||
@ -1,4 +1,4 @@
|
||||
<Project Sdk="Aspire.AppHost.Sdk/13.0.2">
|
||||
<Project Sdk="Aspire.AppHost.Sdk/13.1.0">
|
||||
<PropertyGroup>
|
||||
<OutputType>Exe</OutputType>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
|
||||
@ -62,8 +62,8 @@
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.Maui.Controls" Version="10.0.11" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="10.0.11" />
|
||||
<PackageReference Include="Microsoft.Maui.Controls" Version="10.0.20" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebView.Maui" Version="10.0.20" />
|
||||
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="10.0.1" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user