大连成久建设工程有限公司,网站针对爬虫爬取做的优化,国外免费服务器申请,网站制作方案书一般情况下#xff0c;aspnetcore发布后的默认端口是5000#xff0c;这个大家都知道#xff0c;而且默认骨架代码中没有看到任何让你输入的ip地址和端口号#xff0c;但作为程序员的我们#xff0c;不希望被框架所管制#xff0c;那如何实现默认端口的修改呢#xff1f;… 一般情况下aspnetcore发布后的默认端口是5000这个大家都知道而且默认骨架代码中没有看到任何让你输入的ip地址和端口号但作为程序员的我们不希望被框架所管制那如何实现默认端口的修改呢 骨架代码发布如下 一解决办法1UseUrls 骨架代码就那么几行很容易在这个IWebHostBuilder中找到一个叫做UseUrls的方法从注解中可以看得出来让WebHost监听指定的端口号截图如下 那么答案就出来了你需要自己来指定一下端口改完之后截图如下 但是在发布之后你突然发现卧槽端口冲突了我想换端口tmd我还得为此再发一次程序一个字麻烦说一送一。差点被砍到的第一反应就是把硬编码送到配置文件中。 二解决办法2 host.json 你会突然发现要使用到的Configuration属性只能在Startup类中毕竟在WebHost的Build之前ServiceCollection都没有初始化哪里有统一化的配置系统呢 那怎么办还能怎么办自己定义一个Configuration了然后修改的步骤如下 1. 新增一个host.json名字随便定义自己看得懂就行啦。{ url: http://*:9099} 2. webhost代码修改 问题倒是解决了但是总发现有一点不爽突然新来的Configration就好像半路杀出的陈咬金所以说如果将陈咬金收编过来就完美了。 三不够优雅后的整合 接下来你很容易会在WebHostBuilder中发现另一个方法UseConfiguration看参数就是用来接收ConfigurationRoot的所以就把代码修改如下 但是这里有一个问题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. dockerfile2. publish 文件夹 在dockerfile的同级目录下新建一个publish文件夹用来存放当前dll文件。 3. 通过build从dockerfile中构建镜像4. 最后启动镜像用8888绑定到默认的5000端口[rootlocalhost tsweb]# docker run -d -p 8888:5000 --name a-webcore-v1 a/netcore:v1
f94c727b98d5654aa560308752c2af7cde550b6cc06c520bd438e4ccf1fa616d 5. 然后你清楚的看到8888端口已经打开了但是却不能访问尴尬。。。 6. 解决这个问题的第一步就要看一下 容器中真的开放出来了5000端口吗可通过docker logs 或 docker ps 查看[rootlocalhost tsweb]# docker logs b-webcore-v1
Hosting environment: Production
Content root path: /dataNow listening on: http://[::]:80Application started. Press CtrlC to shut down.
[rootlocalhost tsweb]# 原来开放的是80端口哈~~~~ 那就简单了把原来的容器给删了重新生成一个容器再映射一下就好啦。 [rootlocalhost tsweb]# docker rm -f b-webcore-v1
b-webcore-v1
[rootlocalhost tsweb]# docker run -d -p 8888:80 --name b-webcore-v1 b/netcore:v1
e58039e02740e37cc431c1176fbf586ab19b02bd9331040e4719e9d46e51627d
[rootlocalhost tsweb]# 终于解决了好了本篇就说到这里希望对你有帮助。原文链接https://www.cnblogs.com/huangxincheng/p/9569133.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com