小编Dre*_*lia的帖子

C# .NET Core 7 Http Listener 应用程序,包装在 docker 中,无法从 localhost 访问

我觉得我在这次代码短途旅行中遗漏了一些东西。让我引导您完成这个过程。

在 C# 中,我使用非常简单的代码。没有launchsettings.json,只需对其进行硬编码以查看是否有效。以下是设置和主要内容,以便您可以看到它是如何启动的:

public class Program
{
    public static HttpListener listener;
    public static string url = "http://localhost:8001/";
---- later on in main:------
public static void Main(string[] args)
    {
        listener = new HttpListener();
        listener.Prefixes.Add(url);
        listener.Start();
        Console.WriteLine("Listening for connections on {0}", url);
Run Code Online (Sandbox Code Playgroud)

我知道该代码有效。当我在 VS2022 调试模式(无 docker)下运行时,它显示我的简单 html 页面,上面写着“系统正常”。如果我在 docker 中运行它,这就是一切变得奇怪的地方。我现在将介绍 docker 配置。

Docker文件:

FROM mcr.microsoft.com/dotnet/runtime:7.0 AS base
WORKDIR /app

FROM mcr.microsoft.com/dotnet/sdk:7.0 AS build
WORKDIR /src
COPY ["xevenListens.csproj", "."]
RUN dotnet restore "./xevenListens.csproj"
COPY . .
WORKDIR "/src/."
RUN dotnet …
Run Code Online (Sandbox Code Playgroud)

c# httplistener docker .net-core docker-compose

4
推荐指数
1
解决办法
718
查看次数

标签 统计

.net-core ×1

c# ×1

docker ×1

docker-compose ×1

httplistener ×1