关于ASP.NET端口号的疑问,如何选择和配置最佳端口号?

ASP.NET中,默认的端口号是80用于HTTP通信,443用于HTTPS通信。你可以在项目属性或配置文件中更改这些端口号

ASP.NET开发中,端口号是一个至关重要的概念,它决定了应用程序在网络中的通信端点,以下是对ASP.NET端口号的详细解析:

aspnet端口号

1、默认端口号

ASP.NET Development Server:在Visual Studio中使用ASP.NET Development Server运行文件系统网站时,默认情况下会在随机选择的localhost端口上调用Web服务器,测试名为MyPage.aspx的页时,该页的URL可能是http://localhost:31544/MyPage.aspx。

IIS Express:使用IIS Express作为服务器时,默认端口号通常为8080(对于HTTP)和44300(对于HTTPS),不过,这些默认端口号也可能会因系统配置或安装的其他软件而有所变化。

ASP.NET Core:在.NET 8之前,默认情况下会尝试使用端口80(对于HTTP)和443(对于HTTPS),但从.NET 8开始,默认的容器映像中配置的ASP.NET Core端口已从端口80更新为8080,以避免在某些环境中需要特权端口的问题。

2、配置文件中的端口号设置

launchSettings.json:这是ASP.NET Core项目中使用的配置文件,用于设置在不同环境下(如开发环境或生产环境)运行应用程序时的应用程序设置,可以在其中为不同的环境配置特定的端口号。

     {
       "profiles": {
         "ASP.NET Core": {
           "commandName": "Project",
           "dotnetRunMessages": true,
           "launchBrowser": true,
           "applicationUrl": "https://localhost:5001;http://localhost:5000",
           "environmentVariables": {
             "ASPNETCORE_ENVIRONMENT": "Development"
           }
         }
       }
     }

appsettings.json:可以在此文件中配置Kestrel节点下终结点的默认URL,从而设置端口号。

     {
       "Kestrel": {
         "EndPoints": {
           "Http": {
             "Url": "http://:9000"
           },
           "Https": {
             "Url": "https://:9001"
           }
         }
       }
     }

host.json:可以在该文件中添加一个名为“urls”的配置项来指定端口号,不过这种方式相对较少使用。

3、代码中的端口号设置

Program.cs:在.NET 6及以上版本中,可以在Program类的Main方法或CreateHostBuilder方法中通过配置WebHost来设置端口号。

使用UseUrls方法:

       builder.WebHost.UseUrls("http://:9000");
       // 或者设置多个URL
       builder.WebHost.UseUrls(new[] { "http://:9000", "https://:9001" });
     使用UseKestrel方法:

builder.WebHost.ConfigureKestrel(options =>

{

options.ListenLocalhost(8090, opts => opts.Protocols = HttpProtocols.Http1);

});

aspnet端口号

使用app.Urls.Add方法(.NET 6以上版本):

       app.Urls.Add("http://localhost:9000");Startup.cs:在Configure方法中可以通过配置Kestrel来设置端口号,但这种方法不推荐,因为写死了端口号不便于维护。

public void Configure(IApplicationBuilder app, IHostingEnvironment env)

{

if (env.IsDevelopment())

{

app.UseDeveloperExceptionPage();

}

else

{

app.UseExceptionHandler("/Home/Error");

}

app.UseStaticFiles();

app.UseMvc(routes =>

{

routes.MapRoute(

aspnet端口号

name: "default",

template: "{controller=Home}/{action=Index}/{id?}");

});

app.UseKestrel(serverOptions =>

{

serverOptions.ListenLocalhost(5000, listenOptions =>

{

listenOptions.Protocols = HttpProtocols.Http1;

});

});

}

}

4、环境变量中的端口号设置
   可以通过设置环境变量来指定ASP.NET Core应用程序的端口号,设置ASPNETCORE_HTTP_PORTS环境变量为所需的端口号列表(以分号分隔),应用程序将使用这些端口号进行监听,这种方式在容器化部署等场景中非常常用。
无论是默认端口、配置文件、代码还是环境变量,ASP.NET都提供了灵活多样的方式来设置和管理端口号,开发者可以根据实际需求选择合适的方式进行配置,以确保应用程序能够稳定、高效地运行在指定的网络端口上。

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1627092.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希
上一篇 2025-03-09 09:28
下一篇 2025-01-13 07:39

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入