你需要知道的这几种 asp.net core 修改默认端口的方式

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

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

骨架代码:

640?wx_fmt=png

发布如下:

640?wx_fmt=jpeg

 

一:解决办法1(UseUrls)

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

640?wx_fmt=png

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

640?wx_fmt=png

640?wx_fmt=png

 

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

送到配置文件中。 

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

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

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

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

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

640?wx_fmt=png 

2. webhost代码修改

640?wx_fmt=png

640?wx_fmt=png

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

三:不够优雅后的整合

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

640?wx_fmt=png

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

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

640?wx_fmt=png

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

640?wx_fmt=png

 

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

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

640?wx_fmt=png

 

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

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

1. dockerfile

640?wx_fmt=png

2. publish 文件夹

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

640?wx_fmt=png 

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

640?wx_fmt=png

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

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

 

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

640?wx_fmt=png

640?wx_fmt=png

 

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

[root@localhost tsweb]# docker logs b-webcore-v1
Hosting environment: Production
Content root path: /dataNow listening on: http://[::]:80Application 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]# 

   640?wx_fmt=png

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

原文链接:https://www.cnblogs.com/huangxincheng/p/9569133.html

.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/320125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CF1139D-Steps to One【期望dp,莫比乌斯反演】

正题 题目链接:https://www.luogu.com.cn/problem/CF1139D 题目大意 不停的在表格中填下1∼m1\sim m1∼m中随机一个数,直到所有数的gcd1gcd1gcd1为止,求期望数的个数。 解题思路 设fnf_nfn​表示现在gcdgcdgcd为nnn时的期望个数。那么有转移方程fn∑i…

【DP】错排问题(ybtoj DP-1-1)

错排问题 ybtoj DP-1-1 题目大意 求n个数的错排种数 输入样例 2输出样例 1数据范围 1⩽n⩽201\leqslant n \leqslant 201⩽n⩽20 解题思路 设fif_ifi​为i个数的错排种数 考虑第i个数能放在前面i-1个位置的其中一个(i-1种选法,要乘i-1&#xff0…

牛客网【每日一题】5月15日题目 储物点的距离

链接: 文章目录题目描述题解:代码:时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 131072K,其他语言262144K 64bit IO Format: %lld题目描述 一个数轴,每一个储物点会有一些东西&#x…

[XSY] 最长公共子串对(后缀自动机)

最长公共子串对 先放一段考场暴力代码&#xff1a; #include<iostream> #include<cstdio> #include<cstring> using namespace std; char a[2005],b[2005]; int na,nb,f[2005][2005],c[2005][2005],ans; //f[i][j]表示 s[1...i]与 t[1...j]以s[i]、t[j]结尾…

P3911-最小公倍数之和【莫比乌斯反演】

正题 题目链接:https://www.luogu.com.cn/problem/P3911 题目大意 给出数列AAA求∑i1n∑j1nlcm(Ai,Aj)\sum_{i1}^n\sum_{j1}^nlcm(A_i,A_j)i1∑n​j1∑n​lcm(Ai​,Aj​) 解题思路 设cic_ici​表示AjiA_jiAj​i的个数&#xff0c;然后答案就是&#xff08;下面n5e4n5e4n5e4&…

【DP】奇怪汉诺塔(ybtoj DP-1-2)

奇怪汉诺塔 ybtoj DP-1-2 题目大意 求四根柱子的汉诺塔问题 输出 共12行 每行输出第一根柱子有i个圆盘的最小步数 解题思路 设aia_iai​表示三根柱子&#xff0c;第一根柱子有i个圆盘的步数 很显然是先移i-1个到第二根&#xff0c;再移最大的到第三根&#xff0c;再把i-…

牛客网【每日一题】5月18日 「土」秘法地震

链接&#xff1a; 文章目录题目描述题解&#xff1a;代码&#xff1a;时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld题目描述 帕秋莉掌握了一种土属性魔法 这种魔法可以在一片kk大小…

AspNetCore 中使用 InentityServer4(2)

基于上一篇文章 实现对IdnetityServer4 服务的使用1&#xff1a;添加接口解决方案&#xff0c;并且使接口受认证服务的保护&#xff1a;首先在解决方案中添加Api项目如下图所示&#xff1a;在API项目中添加Nuget 引用 如下图所示&#xff1a;Install-Package IdentityServer4.A…

[XSY] 宝藏(LCS,DP)

宝藏 首先&#xff0c;这个问题等价于给定两个字符串S,T &#xff0c;每次询问LCS(S[1,n],T[x,y])LCS(S[1,n],T[x,y])LCS(S[1,n],T[x,y])。 对每个询问重新求一遍LCSLCSLCS显然不现实&#xff0c;又因为yyy都是连续变化的&#xff0c;我们考虑探讨 LCS(S[1,n],T[x,y])与LCS(S[…

【DP】数的划分(ybtoj DP-1-3)

数的划分 ybtoj DP-1-1 题目大意 给你一个n&#xff0c;让你分成k份&#xff0c;问有多少种分法&#xff08;1,2和2,1为同一种&#xff09; 输入样例 7 3输出样例 4 样例解释 四种分法为&#xff1a;1,1,5;1,2,4;1,3,3;2,2,3.1,1,5; \ \ 1,2,4; \ \ 1,3,3; \ \ 2,2,3.1…

CF570D-Tree Requests【长链剖分】

正题 题目链接:https://www.luogu.com.cn/problem/CF570D 题目大意 nnn个点的一棵树&#xff0c;每个节点有字母&#xff0c;每次询问一个节点xxx的子树中深度为kkk的所有点的字母能否经过重排构成一个回文串。 解题思路 首先把每个字母的奇偶状压一下 然后方法比较多&#x…

牛客网 【每日一题】5月13日 加分二叉树

试题链接&#xff1a; 文章目录题目描述题解&#xff1a;代码&#xff1a;时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 131072K&#xff0c;其他语言262144K 64bit IO Format: %lld题目描述 设一个n个节点的二叉树tree的中序遍历为&#xff0…

Visual Studio 2017 15.8概览

Microsoft正式发布VS2017的第八次更新&#xff0c;即15.8。15.8提供了今年夏天预览的大量新特性&#xff0c;包括Code Cleanup、IDE支持多重查补&#xff08;Multiple Caret&#xff09;、Visual Studio Code和ReSharper快捷键设置等。各类开发人员均可受益于这些已供使用的新特…

[XSY] 简单的数论题(数学、构造)

简单的数论题 m(a3b3)n(c3d3)m(a^3b^3)n(c^3d^3)m(a3b3)n(c3d3) 考虑因式分解(a3b3),(c3d3):考虑因式分解(a^3b^3),(c^3d^3):考虑因式分解(a3b3),(c3d3): a3b3(ab)3−3ab(ab)(ab)(a2b2−ab)a^3b^3(ab)^3-3ab(ab)(ab)(a^2b^2-ab)a3b3(ab)3−3ab(ab)(ab)(a2b2−ab) c3d3(cd)3−3c…

P4322-[JSOI2016]最佳团体【0/1分数规划,树形背包】

正题 题目链接:https://www.luogu.com.cn/problem/P4322 题目大意 nnn个点的一棵树&#xff0c;每个节点有一个(si,pi)(s_i,p_i)(si​,pi​)&#xff0c;选择一个点必须选择它的父节点&#xff0c;求选择KKK个点使得∑pxi∑sxi\frac{\sum p_{x_i}}{\sum s_{x_i}}∑sxi​​∑px…

【DP】平铺方案(ybtoj DP-1-5)

平铺方案 ybtoj DP-1-5 题目大意 求用121\times 212和222\times 222的瓦片平铺2n2\times n2n矩形的方案数 输入样例 2 8 12 100 200输出样例 3 171 2731 845100400152152934331135470251 1071292029505993517027974728227441735014801995855195223534251数据范围 0⩽n⩽2…

白兔的字符串

链接&#xff1a; 文章目录题目描述题解&#xff1a;代码&#xff1a;时间限制&#xff1a;C/C 1秒&#xff0c;其他语言2秒 空间限制&#xff1a;C/C 262144K&#xff0c;其他语言524288K 64bit IO Format: %lld题目描述 白兔有一个字符串T。白云有若干个字符串S1,S2…Sn。 白…

利用.NET Core类库System.Reflection.DispatchProxy实现简易Aop

Aop即是面向切面编程&#xff0c;众多Aop框架里Castle是最为人所知的&#xff0c;另外还有死去的Spring.NET&#xff0c;当然&#xff0c;.NET Core社区新秀AspectCore在性能与功能上都非常优秀&#xff0c;已经逐渐被社区推崇和有越来越多的人使用。感谢柠檬同学的礼物&#x…

P6348-[PA2011]Journeys【线段树优化建图,最短路】

正题 题目链接:https://www.luogu.com.cn/problem/P6348 题目大意 nnn个点的一张图&#xff0c;mmm条边表示区间[a,b][a,b][a,b]向区间[c,d][c,d][c,d]连边&#xff0c;求单源最短路。 解题思路 线段树优化建图的裸题&#xff0c;但是不能直接让线段树上的点两两建边&#xf…

[XSY] 简单的博弈题(博弈+dp+组合数+容斥)

简单的博弈题 对于贪心的对手&#xff0c;显然用最大的一半和他最小的一半比较判断是否全胜。&#xff08;这不就是田忌赛马吗&#xff09; 对于随机的对手&#xff0c;先考虑暴力怎么做&#xff1a; void check(int x,int w){if(x>m){res(w>m/21);return;}for(int i1;…