在 ASP.NET Core 8 中,我们可以选择使用密钥注册服务。通常,注入IEnumerable<ICustom>构造函数将返回ICustom.
但是,我如何解析服务的字典及其密钥?例如,IDictionary<string, ICustom>这样我就可以访问该服务及其密钥?
我将我的应用程序迁移到 .NET 8.0,在本地运行它并且运行良好。
然后我创建了一个图像,即容器。结果,之前正常工作的页面现在返回“1.2.3.4 拒绝连接”。
之前,当我使用 .NET 7.0 时,API 可以工作。
我的基本 DockerFile
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build-env
WORKDIR /app
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR /app
RUN chmod -R 755 /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "myapi.dll"]
Run Code Online (Sandbox Code Playgroud)
我的 api 在端口 8860 上运行
49de1a3ce47c myapi "dotnet myapi.dll" 13 minutes ago Up 13 minutes 0.0.0.0:8860->80/tcp, :::8860->80/tcp
Run Code Online (Sandbox Code Playgroud)
日志:
info: Microsoft.Hosting.Lifetime[14]
Now listening on: http://[::]:8080
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C …Run Code Online (Sandbox Code Playgroud) 我正在关注本教程https://dotnet.microsoft.com/en-us/learn/aspnet/blazor-tutorial/run,它构建了一个非常基本的 Blazor 应用程序。但是该项目无法在 ASP.NET Core 8 上运行。您能否帮忙找出为什么<app>runtimeconfig.json在构建 Blazor 项目时没有生成该文件?这是必需的,因为否则该项目将无法运行。该项目已成功构建,但我无法运行它。
我得到的错误是:
WasmAppHost --use-staticwebassets --runtime-config runtimeconfig.json
错误:无法在 /bin/Debug/net8.0/ 找到运行时配置
我尝试GenerateRuntimeConfigDevFile在文件中将属性设置为 true,.csproj如下所述: https: //learn.microsoft.com/en-us/dotnet/core/runtime-config/
但仍然没有创建 json 文件。
我尝试使用此处找到的模式手动创建它: https: //gist.github.com/natemcmaster/0bdee16450f8ec1823f2c11af880ceeb,但我收到有关缺少 WasmHostProperties 的错误。wasm 应用程序必须有一些特定的东西。
我想出了这个:
{
"runtimeOptions": {
"tfm": "net8.0",
"frameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "8.0.0"
},
{
"name": "Microsoft.AspNetCore.App",
"version": "8.0.0"
}
],
"configProperties": {
"System.GC.Server": true,
"System.Reflection.NullabilityInfoContext.IsSupported": true,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
},
"wasmHostProperties": {
"webServerPort":"7238",
"perHostConfig": [
{
"name": "wasmAppHost",
"host-args": [
"--experimental-wasm-simd", …Run Code Online (Sandbox Code Playgroud)