ASP.NET Core设置URLs的方法汇总(完美解决.NET 6项目局域网IP地址远程无法访问的问题)

 更新时间:2023年11月09日 11:09:08   作者:lym003  
近期在dotnet项目中遇到这样的问题.net6 运行以后无法通过局域网IP地址远程访问,整理出解决问题的五种方式方法,感兴趣的朋友一起看看吧

ASP.NET Core设置URLs的几种方法

近期在dotnet项目中遇到这样的问题:.net6 运行以后无法通过局域网IP地址远程访问。后查阅官方文档。整理出解决问题的五种方式方法,通过新建一个新的WebApi项目演示如下:

说明

操作系统:Ubuntu 22.04.2

运行时:.NET 6

开发工具:Visual Studio 2202

新建webapi

# 只需要以下名利即可创建新的webapi项目
dotnet new webapi -n test

直接运行项目:dotnet run

此时通过远程IP + Post的方式无法正常访问

但是通过:curl https://localhost:7150/swagger/Index.html -k 就可以访问(-k 是避开ssl证书,后期专门出一篇文章讲一下)

部分截图,但是可以看得出页面已经正常请求了。

接下来正式讲解方法

方法一:使用环境变量(该方法可以设置url,但是不能解决远程访问的问题,不推荐)

# 环境变量仅在当前终端生效,关闭终端后需要重新设置
export ASPNETCORE_URLS="http://localhost:9000;https://localhost:9001"
# 运行程序
dotnet test.dll

如果使用Windows命令行(即cmd命令行),使用下面的方式设置

# 环境变量仅在当前命令行窗口生效
set ASPNETCORE_URLS=http://localhost:7000;https://localhost:7010
# 将ASPNETCORE_URLS变量保存到用户环境变量中
setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010"
# 加/m参数,将ASPNETCORE_URLS变量保存到系统环境变量中
setx ASPNETCORE_URLS "http://localhost:7000;https://localhost:7010" /m
# 运行程序
dotnet test.dll

注意:使用setx设置环境变量后,需要打开新的Windows命令行窗口才会使用环境变量生效

方法二:使用命令行参数(可以设置url,也可以解决远程访问的问题,但是启动的时候需要将url作为参数启动,比较麻烦,不推荐)

在生成程序的根目录下,使用dotnet --urls命令,并带上urls参数

dotnet run --urls "https://192.168.11.82:9001;http://192.168.11.82:9000"

此时远程可以访问:

为部分截图

方法三:使用配置文件(即设置了url,也解决了远程访问的问题。推荐)

在生成程序的根目录下,打开appsettings.json文件,添加url配置项

"urls":"htts://192.168.11.82:9001;http://192.168.11.82:9000"

方法四:使用UseUrls(一次设置,两个问题都解决,推荐)

这种方法需要修改源代码,打开Program.cs文件,添加如下代码。

app.Urls.Add("https://0.0.0.0:9001");
app.Urls.Add("http://0.0.0.0:9000");

此时运行

方法五:使用Kestrel(感兴趣的小伙伴可以自己去研究一下)

到此这篇关于ASP.NET Core设置URLs的几种方法,完美解决.NET 6项目局域网IP地址远程无法访问的问题的文章就介绍到这了,更多相关ASP.NET Core设置URLs内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Asp.Net Core轻松学习系列之配置文件

    Asp.Net Core轻松学习系列之配置文件

    这篇文章主要给大家介绍了关于Asp.Net Core轻松学习系列之配置文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • .NET Core如何获取操作系统中的各种信息

    .NET Core如何获取操作系统中的各种信息

    .net core是最近讨论频率很高的话题,下面这篇文章主要给大家介绍了关于利用.NET Core如何获取操作系统中各种信息的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧
    2018-05-05
  • ASP.NET Core启动地址配置方法及优先级顺序

    ASP.NET Core启动地址配置方法及优先级顺序

    这篇文章主要介绍了ASP.NET Core启动地址配置方法及优先级顺序,如果在同一台机器上运行多个ASP.NET Core实例,使用默认值肯定不合适,下面我们一起进入文章了解具体内容吧
    2022-03-03
  • ASP.Net中的async+await异步编程的实现

    ASP.Net中的async+await异步编程的实现

    这篇文章主要介绍了ASP.Net中的async+await异步编程的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • 防止.NET应用多实例运行的有效方法

    防止.NET应用多实例运行的有效方法

    在开发桌面应用程序时,可能会遇到这样一种需求:限制程序只能同时运行一个实例,如果用户试图再次启动同一个程序,应该将已经运行的程序窗口置于前台而不是启动一个新实例,这篇文章提供了一种通过检测当前程序实例并激活已运行实例的方法,需要的朋友可以参考下
    2024-12-12
  • 用.NET Core写爬虫爬取电影天堂

    用.NET Core写爬虫爬取电影天堂

    本文给大家详细介绍了如何使用.NET Core写爬虫爬取电影天堂的方法和详细步骤,非常的细致,有需要的小伙伴可以参考下
    2016-12-12
  • Entity Framework导航属性介绍

    Entity Framework导航属性介绍

    这篇文章介绍了Entity Framework的导航属性,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • ASP.NET Core中如何使用表达式树创建URL详解

    ASP.NET Core中如何使用表达式树创建URL详解

    这篇文章主要给大家介绍了关于ASP.NET Core中如何使用表达式树创建URL的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-10-10
  • ASP.NET GridView 实现课程表显示(动态合并单元格)实现步骤

    ASP.NET GridView 实现课程表显示(动态合并单元格)实现步骤

    GridView,ASP.NET中很常用的数据显示控件,这里,我将用这个控件来实现课程表的显示。首先说说课程表的显示与普通记录的显示有何不同?感兴趣的朋友可以了解下,或许对你有所帮助
    2013-02-02
  • asp.net 需要登陆的网站上下载网页源代码和文件

    asp.net 需要登陆的网站上下载网页源代码和文件

    最近有个项目需要从网络上下载网页信息和文件,并且需要登录后才能下载,所以做了个下载的通用类,供大家参考。
    2009-05-05

最新评论