小编Kal*_*lik的帖子

ASP.NET Core + Docker 无法在指定端口上访问

我无法访问其中运行 ASP.NET Core 3.1 应用程序的容器。目标是在端口 5000 上的容器中运行应用程序。当我使用标准 VS 配置文件在本地运行它时,我导航到http://localhost:5000/swagger/index.html以加载 swaggerUI。我想使用 docker 实现同样的事情。

重现我的问题的步骤:

  • 添加带有公开的5000端口和ENV ASPNETCORE_URLS 变量的 dockerfile:

    FROM mcr.microsoft.com/dotnet/core/aspnet:3.1 AS base
    WORKDIR /app
    ENV ASPNETCORE_URLS=http://+:5000
    EXPOSE 5000
    
    FROM mcr.microsoft.com/dotnet/core/sdk:3.1 AS build
    WORKDIR /src
    COPY ["myapp/myapp.csproj", "myapp/"]
    RUN dotnet restore "myapp/myapp.csproj"
    COPY . .
    WORKDIR "/src/myapp/"
    RUN dotnet build "myapp.csproj" -c Release -o /app/build
    
    FROM build AS publish
    RUN dotnet publish "myapp.csproj" -c Release -o /app/publish
    
    FROM base AS final
    WORKDIR /app
    COPY --from=publish /app/publish . …
    Run Code Online (Sandbox Code Playgroud)

containers kestrel docker asp.net-core

5
推荐指数
1
解决办法
6158
查看次数

Angular *ngIf 多次调用,使用异步管道和订阅

我当前的角度设置面临问题,我无法弄清楚到底出了什么问题。在讨论问题之前,我将首先描述一些背景。

我有一个类 - data-service.ts,里面有一个方法“getData”。这是正文:

getData(): Observable<Data[]> {
let params = new HttpParams();
params = params.append('user_id', this.userId);
return this.http.get<Data[]>('api/data', {
  observe: 'body',
  responseType: 'json',
  params
}).pipe(
    map((response: any[]) => {
      return response.map((s) => ({
        id: s.id,
        userId: s.user_id,
        type: s.type_id,
        ...
      }));
    })
);}
Run Code Online (Sandbox Code Playgroud)

我的要求是每次用户在 ngModal 中输入目标选项卡时获取此数据并刷新视图。当您单击目标选项卡时,模态组件“modal-component.ts”会获取此数据。单击选项卡会触发一个事件,通过这段代码:

getData(evt) {
  this.data$ = this.dataSevice.getData();
}
Run Code Online (Sandbox Code Playgroud)

我使用异步管道将此“data$”可观察值传递给子组件:

<modal-component>
...
    <app-data-manager [data]="data$ | async"></app-data-manager>
...
</modal-component>
Run Code Online (Sandbox Code Playgroud)

在“data-manager”内部,我在 [data] 上使用 *ngFor,并且对于每个数据,我都会渲染一些 html。在该 HTML 中,我使用 *ngIf 来确定应呈现哪个模板(第一个或第二个)。

<div *ngIf="isTrue(dataEntry); then first else second"></div>
Run Code Online (Sandbox Code Playgroud)

问题是: 为每个 dataEntry 调用 …

observable rxjs typescript angular

2
推荐指数
1
解决办法
2520
查看次数