返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >asp.net core 修改默认端口的几种方法
  • 912
分享到

asp.net core 修改默认端口的几种方法

ASP.NET默认方法netcoreASP 2022-06-07 20:06:36 912人浏览 独家记忆
摘要

  一般情况下,aspnetcore发布后的默认端口是5000,这个大家都知道,而且默认骨架代码中没有看到任何让你输入的ip地址和端口号,但作为程序员的我们,不希望 被框架所管

  一般情况下,aspnetcore发布后的默认端口是5000,这个大家都知道,而且默认骨架代码中没有看到任何让你输入的ip地址和端口号,但作为程序员的我们,不希望

框架所管制,那如何实现默认端口的修改呢?

骨架代码:


public class Program
 {
 public static void Main(string[] args)
 {
  CreateWEBHostBuilder(args).Build().Run();
 }
 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
  WebHost.CreateDefaultBuilder(args)
  .UseStartup<Startup>();
 }

发布如下:

一:解决办法1(UseUrls)

       骨架代码就那么几行,很容易在这个IWebHostBuilder中找到一个叫做UseUrls的方法,从注解中可以看得出来让WebHost监听指定的端口号,截图如下:

那么答案就出来了,你需要自己来指定一下端口,改完之后截图如下:


public class Program
 {
 public static void Main(string[] args)
 {
  CreateWebHostBuilder(args).Build().Run();
 }
 public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
  WebHost.CreateDefaultBuilder(args)
   .UseUrls("Http://*:8080")
  .UseStartup<Startup>();
 }

但是在发布之后,你突然发现,卧槽,端口冲突了,我想换端口,tmd我还得为此再发一次程序,一个字麻烦,说一送一。差点被砍到的第一反应就是把硬编码

送到配置文件中。

二:解决办法2 (host.json)

       你会突然发现要使用到的Configuration属性只能在Startup类中,毕竟在WebHost的Build之前ServiceCollection都没有初始化,哪里有统一化的配置系统呢,

 那怎么办,还能怎么办,自己定义一个Configuration了,然后修改的步骤如下:

1. 新增一个host.JSON,名字随便定义,自己看得懂就行啦。


{
 "url": "http://*:9099"
}

2. webhost代码修改


public static IWebHostBuilder CreateWebHostBuilder(string[] args)
 {
  var configuration = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory)
      .AddjsonFile("host.json")
      .Build();
  var url = configuration["url"];
  return WebHost.CreateDefaultBuilder(args).UseUrls(configuration["url"])
       .UseStartup<Startup>();
 }

      问题倒是解决了,但是总发现有一点不爽,突然新来的Configration就好像半路杀出的陈咬金,所以说如果将陈咬金收编过来就完美了。

三:不够优雅后的整合

      接下来你很容易会在WebHostBuilder中发现另一个方法UseConfiguration,看参数就是用来接收ConfigurationRoot的,所以就把代码修改如下:


public static IWebHostBuilder CreateWebHostBuilder(string[] args)
 {
  var configuration = new ConfigurationBuilder().SetBasePath(Environment.CurrentDirectory)
      .AddJsonFile("host.json")
      .Build();
  //var url = configuration["url"];
  return WebHost.CreateDefaultBuilder(args).UseConfiguration(configuration)
       .UseStartup<Startup>();
 }

        但是这里有一个问题,asp.netcore能识别我自定义的url吗?肯定是不能识别的啦,那问题就是,AspnetCore模式会用哪一个key作为url的地址呢??

要找到答案的话得需要从源码上啦,从UseUrls入手吧。

从上面可以看到,UseUrls默认是使用 WebHostDefaults.ServerUrlsKey 作为url的key的,然后继续F12看一下它的 内容是什么?

   好了,真想大白了,原来是urls,接下来我只需要把host.json 的url改成urls就可以了,对吧。


{
 "urls": "http://*:9099"
}

 四:解决办法3 (使用docker)

      如果你不想做出任何改变,不想做任何退步,那没办法,只能把你关进Docker里啦。

1. dockerfile


FROM microsoft/dotnet:2.1-aspnetcore-runtime
MAINTAINER hxc@qq.com
RUN mkdir /data
COPY ./publish/ /data
WORKDIR /data
CMD [ "dotnet","WebApplication1.dll" ]

2. publish 文件夹

   在dockerfile的同级目录下,新建一个publish文件夹用来存放当前dll文件。

3. 通过build从dockerfile中构建镜像


[root@localhost tsweb]# docker build --rm -f ts.dockerfile -t a/netcore:v1 .
Sending build context to Docker daemon 2.56 kB
Step 1/6 : FROM microsoft/dotnet:2.1-sdk
 ---> bde01d9ed6eb
Step 2/6 : MAINTAINER hxc@qq.com
 ---> Using cache
 ---> 3af0c3f7c416
Step 3/6 : RUN mkdir /data
 ---> Using cache
 ---> 97137ffc5449
Step 4/6 : COPY ./publish/ /data
 ---> Using cache
 ---> 77a94f1a0b8f
Step 5/6 : WORKDIR /data
 ---> Using cache
 ---> 6778c2054a7b
Step 6/6 : CMD dotnet WebApplication1.dll 
 ---> Running in e4a69b32e702
 ---> 9ed3a9769610
Removing intermediate container e4a69b32e702
Successfully built 9ed3a9769610

4. 最后启动镜像,用8888绑定到默认的5000端口


[root@localhost tsweb]# docker run -d -p 8888:5000 --name a-webcore-v1 a/netcore:v1
f94c727b98d5654aa560308752c2af7cde550b6cc06c520bd438e4ccf1fa616d

5. 然后你清楚的看到8888端口已经打开了,但是却不能访问,尴尬。。。


[root@localhost tsweb]# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address  State PID/Program name 
tcp 0 0 192.168.122.1:53 0.0.0.0:*  LISTEN 1834/dnsmasq 
tcp 0 0 0.0.0.0:22  0.0.0.0:*  LISTEN 1135/sshd  
tcp 0 0 127.0.0.1:631  0.0.0.0:*  LISTEN 1136/cupsd  
tcp 0 0 127.0.0.1:25  0.0.0.0:*  LISTEN 1582/master  
tcp6 0 0 :::3306   :::*   LISTEN 2451/Mysqld  
tcp6 0 0 :::22   :::*   LISTEN 1135/sshd  
tcp6 0 0 ::1:631   :::*   LISTEN 1136/cupsd  
tcp6 0 0 :::8888   :::*   LISTEN 9531/docker-proxy-c 
tcp6 0 0 ::1:25   :::*   LISTEN 1582/master  
[root@localhost tsweb]#

6. 解决这个问题的第一步就要看一下 容器中真的开放出来了5000端口吗,可通过docker logs 或 docker ps 查看


[root@localhost tsweb]# docker logs b-webcore-v1
Hosting environment: Production
Content root path: /data
Now listening on: http://[::]:80
Application started. Press Ctrl+C to shut down.
[root@localhost tsweb]# 

  原来开放的是80端口哈~~~~  那就简单了,把原来的容器给删了,重新生成一个容器再映射一下就好啦。


[root@localhost tsweb]# docker rm -f b-webcore-v1
b-webcore-v1
[root@localhost tsweb]# docker run -d -p 8888:80 --name b-webcore-v1 b/netcore:v1
e58039e02740e37cc431c1176fbf586ab19b02bd9331040e4719e9d46e51627d
[root@localhost tsweb]# 

终于解决了,好了,本篇就说到这里,希望对你有帮助。

以上就是ASP.net core 修改默认端口的几种方法的详细内容,更多关于asp.net core 修改默认端口的资料请关注编程网其它相关文章!

您可能感兴趣的文章:asp.Net Core常见的4种数据加密算法asp.net Core对Controller进行单元测试的完整步骤详解asp.net core 依赖注入详解ASP.NET Core中配置监听URLs的五种方式[Asp.Net Core] 浅谈blazor Server Side


--结束END--

本文标题: asp.net core 修改默认端口的几种方法

本文链接: https://lsjlt.com/news/30750.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • asp.net core 修改默认端口的几种方法
      一般情况下,aspnetcore发布后的默认端口是5000,这个大家都知道,而且默认骨架代码中没有看到任何让你输入的ip地址和端口号,但作为程序员的我们,不希望 被框架所管...
    99+
    2022-06-07
    ASP.NET 默认 方法 net core ASP
  • mysql的默认端口号修改方法
    下面讲讲关于mysql的默认端口号修改方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql的默认端口号修改方法这篇文章你一定会有所受益。    &n...
    99+
    2024-04-02
  • 如何修改asp.net core5程序的默认端口号
    本篇内容主要讲解“如何修改asp.net core5程序的默认端口号”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何修改asp.net core5程序的默认端口号”吧!在本...
    99+
    2023-06-26
  • WindowsServer2012远程默认端口3389的修改方法
    目录1 修改注册表项12 修改注册表项23 防火墙开放端口4 重启服务器新弄了一台Windows Server 2012操作系统,开始瞎折腾啊. 在开始-----运行菜单里,输入re...
    99+
    2024-04-02
  • linux修改mysql默认端口
    vi /etc/my.cnf将这个port位置修改为你想修改的默认端口修改完之后,重启一下mysql服务,ok ...
    99+
    2024-04-02
  • centos 修改ssh默认端口号的方法示例
    linux服务器一般默认的ssh端口号都为22,所以在大部分的使用者手中出于安全考虑就需要修改ssh的默认端口号,下面为为修改ssh默认端口号方法 一:修改/etc/ssh/sshd_config配置文件(注意:这里是...
    99+
    2022-06-04
    centos 修改ssh默认端口号 centos7修改ssh端口号
  • CentOS6.5与CentOS7 ssh修改默认端口号的方法
    本文实例讲述了CentOS6.5与CentOS7 ssh修改默认端口号的方法。分享给大家供大家参考,具体如下: CentOS6.5ssh修改默认端口号 先查看下服务器端口号范围: # sysctl -a|grep i...
    99+
    2022-06-04
    CentOS6.5 CentOS7 ssh 修改 默认端口号
  • nginx修改默认端口方法图文详解
    1、进入nginx.conf文件 2、修改listen后的默认端口号改为想改的端口号(如下图) 3、设置防火墙允许通过修改的端口号 1、firewall-cmd --zone=pu...
    99+
    2024-04-02
  • mongodb如何修改默认端口
    mongodb修改默认端口的方法:1、win环境中,以管理员权限打开cmd命令符窗口,进入到安装mongodb数据库的bin目录下,并输入“mongod --dbpath 数据库路径 --port 端口号”命令修改即可;2、linux环境中...
    99+
    2024-04-02
  • 修改asp.netcore5程序的默认端口号
    以下文章来源于微信公众号DotNetCore实战 在本地开发环境下,我们知道可以通过修改launchSettings.json 文件中的端口号来实现端口切换。 "WebApplica...
    99+
    2024-04-02
  • centos7怎么修改默认的ssh端口
    要修改CentOS 7上的默认SSH端口,您可以按照以下步骤进行操作:1. 打开SSH配置文件`/etc/ssh/sshd_conf...
    99+
    2023-08-17
    centos7
  • ubuntu怎么修改ssh默认端口
    ubuntu修改ssh默认端口的方法:1、打开终端;2、输入“vim /etc/ssh/sshd_config”命令打开sshd_config配置文件;3、在文件内容中找到#Port 22默认端口修改为123端口;4、输入“/etc/ini...
    99+
    2024-04-02
  • openwrt修改web网页默认端口
    使用SSH登录openwrt后台; openwrt 中默认使用的web服务器是uhttpd, 进入配置文件路径: cd /etc/config/  使用vim编辑器修改uhttpd文件 vi uhttpd    修改以上标红部分后面的端口...
    99+
    2023-09-02
    linux 服务器 openwrt
  • Linux修改默认登录端口22
    目录 一、查看防火墙状态 二、编辑sshd配置 三、重启sshd 四、防火墙开放端口  五、重启防火墙  六、测试连接 七、防火墙关闭22端口 八、重启防火墙以生效 前言:ssh登录的默认端口是22,如果不修改默认端口的话,会不安全...
    99+
    2023-09-02
    服务器 linux 运维
  • php默认端口号怎么修改
    PHP的默认端口号是80,可以通过修改web服务器的配置文件来修改PHP的端口号。 以Apache为例,修改Apache的配置文件`...
    99+
    2023-10-25
    php
  • 云服务器ssh修改默认端口的方法是什么
    修改云服务器SSH默认端口的方法有以下几种:1. 修改SSH配置文件:登录到云服务器,找到SSH配置文件(一般是/etc/ssh/s...
    99+
    2023-08-09
    云服务器
  • 详解如何修改nginx的默认端口
    首先找到配置文件在哪 whereis nginx.conf 你可以这几个目录都看一遍,看看配置文件在哪里。我这边正确目录是 /etc/nginx 其次找到真正的配置...
    99+
    2024-04-02
  • 如何修改系统默认的ssh端口?
    如何修改系统默认的ssh端口? 修改系统默认的ssh端口为1222,参考步骤如下: 1、修改sshd配置文件 sudo vim /etc/ssh/sshd_config 将该文件里面的“# port 22”参数改为“port 1222”后保...
    99+
    2023-08-18
    ssh 服务器 网络
  • 怎么在nginx中修改默认端口
    怎么在nginx中修改默认端口?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。首先找到配置文件在哪whereis nginx.conf你可以这...
    99+
    2023-06-14
  • 如何修改RabbitMQ默认端口配置
    这篇文章主要介绍“如何修改RabbitMQ默认端口配置”,在日常操作中,相信很多人在如何修改RabbitMQ默认端口配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何修改RabbitMQ默认端口配置”的疑...
    99+
    2023-06-26
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作