当前位置: 首页 > news >正文

网站开发要什么流程微商分销模式

网站开发要什么流程,微商分销模式,外贸网站做流量,外贸网站建设软件有哪些问题在上篇文章#xff0c;把AAStore.ProductCatalog.Api部署到docker中运行#xff0c;输入地址访问报错如下图#xff0c;说明外部无法访问这个url。#xff08;当然本地开发环境测试是可以访问的#xff09;。后来修改此处options.ListenLocalhost(8081)的代码改成opti… 问题在上篇文章把AAStore.ProductCatalog.Api部署到docker中运行输入地址访问报错如下图说明外部无法访问这个url。当然本地开发环境测试是可以访问的。后来修改此处options.ListenLocalhost(8081)的代码改成options.ListenAnyIP(8081)可以访问了。那这两种写法有什么区别呢在区别之前我们先熟悉几个概念如果网络知识比较好的可以跳过本地回环地址Loopback Address百度定义的定义127.0.0.1通常被称为本地回环地址(Loopback Address)不属于任何一个有类别地址类。它代表设备的本地虚拟接口所以默认被看作是永远不会宕掉的接口。在Windows操作系统中也有相似的定义所以通常在安装网卡前就可以ping通这个本地回环地址。一般都会用来检查本地网络协议、基本数据接口等是否正常的。IPv6的本地回环地址形式0:0:0:0:0:0:0:1同IPV4中127.0.0.1地址的含义一样表示节点自已也可以是::1大多数windows和linux电脑上都将localhost指向了127.0.0.1这个地址相当于是本机地址。ip地址类型公有地址公有地址Public address由Inter NICInternet Network Information Center因特网信息中心负责。这些IP地址分配给注册并向Inter NIC提出申请的组织机构。通过它直接访问因特网。私有地址私有地址Private address属于非注册地址专门为组织机构内部使用。以下列出留用的内部私有地址A类 10.0.0.0--10.255.255.255B类 172.16.0.0--172.31.255.255C类 192.168.0.0--192.168.255.255IPv6 [::] 0000:0000:0000:0000:0000:0000:0000:0000的简写 IPv4 0.0.0.0 含义维基百科解释表示无效的未知不可用的目标在服务器中常常表示监听本机所有的ip地址。一般我们在服务端绑定端口的时候可以选择绑定到0.0.0.0这样就可以通过多个ip地址访问我的服务。ListenLocalhost 和ListenAnyIP 区别通过编码配置Kestrel监听端口有三个方法可以实现ListenLocalhost、ListenAnyIP、Listen其中ListenLocalhost等同于Listen的IPAddress.IPv6Loopback 和IPAddress.LoopbackListenAnyIP等同于Listen的IPAddress.IPv6Any和IPAddress.Any。下面我看看可以查看他们的源代码。ListenLocalhost、ListenAnyIP 两个方法的源码/// summary/// Listens on ::1 and 127.0.0.1 with the given port. Requesting a dynamic port by specifying 0 is not supported/// for this type of endpoint./// /summarypublic void ListenLocalhost(int port, ActionListenOptions configure){if (configure null){throw new ArgumentNullException(nameof(configure));}var listenOptions new LocalhostListenOptions(port);ApplyEndpointDefaults(listenOptions);configure(listenOptions);ListenOptions.Add(listenOptions);}/// summary/// Listens on all IPs using IPv6 [::], or IPv4 0.0.0.0 if IPv6 is not supported./// /summarypublic void ListenAnyIP(int port, ActionListenOptions configure){if (configure null){throw new ArgumentNullException(nameof(configure));}var listenOptions new AnyIPListenOptions(port);ApplyEndpointDefaults(listenOptions);configure(listenOptions);ListenOptions.Add(listenOptions);} 通过源码我们可以发现,他们之间的区别是在构造listenopthons对象不同分别使用LocalhostListenOptions和AnyIPListenOptions进行new创建实例而AnyIPListenOptions和LocalhostListenOptions都继承类ListenOptions并且重写BindAsync方法。源码如下 internal sealed class LocalhostListenOptions : ListenOptions{internal LocalhostListenOptions(int port): base(new IPEndPoint(IPAddress.Loopback, port)){if (port 0){throw new InvalidOperationException(CoreStrings.DynamicPortOnLocalhostNotSupported);}}//绑定回环地址ipv4是127.0.0.1 iPV6是::1internal override async Task BindAsync(AddressBindContext context){var exceptions new ListException();try{var v4Options Clone(IPAddress.Loopback);await AddressBinder.BindEndpointAsync(v4Options, context).ConfigureAwait(false);}catch (Exception ex) when (!(ex is IOException)){context.Logger.LogWarning(0, CoreStrings.NetworkInterfaceBindingFailed, GetDisplayName(), IPv4 loopback, ex.Message);exceptions.Add(ex);}try{var v6Options Clone(IPAddress.IPv6Loopback);await AddressBinder.BindEndpointAsync(v6Options, context).ConfigureAwait(false);}catch (Exception ex) when (!(ex is IOException)){context.Logger.LogWarning(0, CoreStrings.NetworkInterfaceBindingFailed, GetDisplayName(), IPv6 loopback, ex.Message);exceptions.Add(ex);}if (exceptions.Count 2){throw new IOException(CoreStrings.FormatAddressBindingFailed(GetDisplayName()), new AggregateException(exceptions));}// If StartLocalhost doesnt throw, there is at least one listener.// The port cannot change for localhost.context.Addresses.Add(GetDisplayName());}}internal sealed class AnyIPListenOptions : ListenOptions{internal AnyIPListenOptions(int port): base(new IPEndPoint(IPAddress.IPv6Any, port)){}//如果本机不支持 IPv6就绑定ipv4internal override async Task BindAsync(AddressBindContext context){// when address is http://hostname:port, http://*:port, or http://:porttry{await base.BindAsync(context).ConfigureAwait(false);}catch (Exception ex) when (!(ex is IOException)){context.Logger.LogDebug(CoreStrings.FormatFallbackToIPv4Any(IPEndPoint.Port));// for machines that do not support IPv6EndPoint new IPEndPoint(IPAddress.Any, IPEndPoint.Port);await base.BindAsync(context).ConfigureAwait(false);}}} 小结通过以上分析端口绑定时建议使用IPAddress.Any可以支持ipv6和ipv4地址。 webBuilder.ConfigureKestrel(options {//1.ListenLocalhost方法//options.ListenLocalhost(8081);//2.ListenAnyIP方法options.ListenAnyIP(8081);//3.Listen方法// options.Listen(IPAddress.Loopback, 8081);// Setup a HTTP/2 endpoint without TLS.options.ListenAnyIP(18081, o o.Protocols HttpProtocols.Http1AndHttp2);}); 参考https://juejin.im/post/5d258b6ae51d454f73356dcf
http://www.huolong8.cn/news/371696/

相关文章:

  • 个人网站开发 服务器网站服务器有哪些类型有哪些类型有哪些类型有哪些类型
  • 杭州做网站哪里好国外企业网络发展的现状
  • 人才招聘网站开发+源代码深圳十大建筑工程公司排行榜
  • 全网响应式网站30天网站建设实录视频云盘
  • 织梦企业 网站源码网站开发费会计处理
  • 手机微网站怎么做的服务器上搭建网站
  • 淘宝客做动态广告的网站百度网盘搜索引擎入口在哪里
  • 房产网站排行宿迁房产中介
  • 网站建设合同管辖网站开发啊
  • 恩施做网站多少钱wordpress在线生成二维码
  • 政务网站建设目标dedecms网站别名
  • 网站购物车实现英文外贸网站设计
  • 重庆机有哪些网站建设公司谈谈百度和谷歌seo优化的区别
  • cnzz网站建设wordpress企业网站实例
  • 如何搭建一个论坛网站建设网站兼职
  • 网站设计公司名称上海平台有限公司
  • 青岛高端网站设计临沂建设规划局网站
  • 湘潭做网站 磐石网络大学生个人网站模板
  • 游戏官方网站开发设计报告桂林生活最新网
  • 网站做百度权重排名论坛国外设计案例网站
  • 门户网站做seo平台赚钱
  • 博罗做网站用自己的电脑做视频网站
  • 网站快速排名服务商wordpress怎样修改字体大小
  • 做视频背景音乐网站北京市建设工程信息网告知性备案
  • 在哪个网站上可以找兼职做手机app在哪里
  • 南昌市新农村建设网站建设网站代码
  • vs2008网站开发仁寿网站建设
  • 东莞建设一个网站wordpress站点标题添加
  • 养车网站开发代理上网
  • 名律汇网站建设设计网站用小程序