• .net core MVC不用端口号访问


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 stevenjin 2024-05-08 20:30 采纳率: 100% 浏览 2 首页/ 编程语言 / 已结题 .net core MVC不用端口号访问 c# .net core MVC在这里写了端口号,所以访问时用http://192.168.1.11:8080这样的网址。怎样可以不用端口号呢? app.Urls.Add("http://*:8080"); 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    4条回答 默认 最新

    • 专家-皆知 2024-05-08 20:30
      关注

      引自免费微信小程序:皆我百晓生

      要让 .NET Core MVC 应用程序在默认端口(80或443)上运行,你需要在开发环境中配置本地 IIS Express 或在生产环境中使用反向代理(如 IIS、Nginx 或 Apache),并映射到正确端口。

      本回答被题主选为最佳回答 , 对您是否有帮助呢?
      评论
      专家-皆知 回复 stevenjin 2024-05-08 20:31

      要让 .NET Core MVC 应用程序在不指定端口号的情况下运行,你需要确保应用监听的是默认的 HTTP 端口(即 80),或者如果你的应用正在开发环境中运行,并且没有其他服务占用 80 端口,你可以选择监听 5000 端口,这是 .NET Core 的默认开发端口。

      首先,在 Program.cs 文件中的 Main 方法里,找到 CreateHostBuilder(args).Build().Run(); 这一行。在这个方法调用之前添加以下代码,将监听端口设置为 5000:

      using Microsoft.AspNetCore.Hosting;
      using Microsoft.Extensions.Hosting;
      
      namespace YourNamespace
      {
          public class Program
          {
              public static void Main(string[] args)
              {
                  var host = CreateHostBuilder(args).ConfigureWebHostDefaults(webBuilder =>
                  {
                      webBuilder.UseStartup();
                      // 设置监听端口为 5000
                      webBuilder.UseKestrel(options => options.ListenLocalhost(5000));
                  }).Build();
      
                  host.Run();
              }
      
              public static IHostBuilder CreateHostBuilder(string[] args) =>
                  Host.CreateDefaultBuilder(args)
                      .ConfigureWebHostDefaults(webBuilder => { });
          }
      }
      

      接下来,确保在 Startup.cs 中的 ConfigureServices 方法中注册了 UseRouting

      using Microsoft.AspNetCore.Builder;
      using Microsoft.AspNetCore.Routing;
      using Microsoft.Extensions.DependencyInjection;
      
      namespace YourNamespace
      {
          public class Startup
          {
              public void ConfigureServices(IServiceCollection services)
              {
                  services.AddControllers();
                  // 添加路由支持
                  services.AddRouting();
              }
      
              public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
              {
                  if (env.IsDevelopment())
                  {
                      app.UseDeveloperExceptionPage();
                  }
      
                  app.UseRouting();
      
                  app.UseEndpoints(endpoints =>
                  {
                      endpoints.MapControllerRoute(
                          name: "default",
                          pattern: "{controller=Home}/{action=Index}/{id?}");
                  });
              }
          }
      }
      

      现在,你应该可以直接通过 http://192.168.1.11/ 访问你的应用程序,而不需要指定端口号。如果这仍然不起作用,可能是因为防火墙、操作系统或其他正在运行的服务阻止了端口 5000 或者是 80。在这种情况下,你需要检查并允许这些端口的流量。如果你在开发环境中遇到问题,确保没有其他的 .NET Core 应用程序也在监听相同的端口。

      回复
    查看更多回答(3条)
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    使用.Net对图片进行裁剪、缩放、与加水印
    铁轨(Rails, ACM/ICPC CERC 1997, UVa 514)rust解法
    毕业3年...设计行业一事无成,北漂闯荡转行成功
    基于云原生存储的容器持久化存储方案
    luoguP3224 [HNOI2012]永无乡【线段树,并查集】
    JQuery笔记
    Qt对话框
    设计模式——2. 工厂模式
    第五周 丹巴晨景——跟随光线,渲染照片氛围
    Redis4 缓存淘汰策略及事务实现乐观锁
  • 原文地址:https://ask.csdn.net/questions/8100622