我在project.json
中添加了以下部分。
"commands": {
"run": "run server.urls=http://localhost:8082",
"web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.Kestrel --server.urls http://localhost:8082",
"weblistener": "Microsoft.AspNet.Hosting --server WebListener --server.urls http://localhost:8082"
},
但是,当使用dotnet myapp.dll
运行时,它仍会显示“正在收听:http://localhost:5000”?
答案 0 :(得分:26)
是的,如果您绑定任何外部IP地址,这将可从其他计算机访问。例如绑定到http://*:80
。请注意,绑定到http://localhost:80
只会绑定到127.0.0.1接口,因此无法从其他计算机访问。
Visual Studio正在覆盖您的端口。您可以更改VS端口编辑此文件Properties\launchSettings.json
,或者按代码设置它:
var host = new WebHostBuilder()
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseIISIntegration()
.UseStartup<Startup>()
.UseUrls("http://*:80") // <-----
.Build();
host.Run();
使用外部配置文件的分步指南here。
答案 1 :(得分:10)
在Asp.net core 2.0 WebApp中,如果您使用的是visual studio搜索 LaunchSettings.json 。我正在添加我的LaunchSettings.json,您可以更改端口号,因为您可以看到。
答案 2 :(得分:5)
在Visual Studio 2017中,我们可以从LaunchSetting.json更改端口号
在“属性”-> LaunchSettings.json中。
打开LaunchSettings.json并更改端口号。
更改json文件中的端口号
答案 3 :(得分:5)
只需使用 dotnet YouApp.dll --urls http://0.0.0.0:80
。
附言我不知道为什么我每次都需要用谷歌搜索它,而且每次它都没有出现。所以就是这里了。
答案 4 :(得分:3)
在.UseUrls("http://*:80")
中使用以下一行代码Program.cs
,从而将.UseStartup<Startup>()
更改为
{.UseStartup<Startup>()
.UseUrls("http://*:80")
答案 5 :(得分:3)
必须更改 3 个文件 appsettings.json
(请参阅最后一节 - kestrel),launchsettings.json
- applicationurl 已注释掉,Startup.cs
中有 2 行更改
在 appsettings.json
文件中添加以下代码,并根据需要移植到任何端口。
},
"Kestrel": {
"Endpoints": {
"Http": {
"Url": "http://localhost:5003"
}
}
}
}
使用以下几行修改 Startup.cs
。
using Microsoft.AspNetCore.Server.Kestrel.Core;
services.Configure<KestrelServerOptions>(Configuration.GetSection("Kestrel"));
答案 6 :(得分:1)
我们可以使用此命令通过Windows Powershell在不带IIS和Visual Studio的单独端口上运行宿主项目。 Krestel Web服务器的默认值为5001
$env:ASPNETCORE_URLS="http://localhost:22742" ; dotnet run
答案 7 :(得分:1)
在您的hosting.json中
将"Url": "http://localhost:80"
替换为"Url": "http://*:80"
,您现在可以通过http://your_local_machine_ip:80
访问您的应用程序,例如http://192.168.1.4:80
答案 8 :(得分:1)
在 appsetting.json 中
{ “调试模式”:假, “网址”:“http://localhost:8082” }
答案 9 :(得分:0)
您也可以像这样编码
IConfiguration config = new ConfigurationBuilder()
.AddCommandLine(args)
.Build();
var host = new WebHostBuilder()
.UseConfiguration(config)
.UseKestrel()
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.Build();
并通过命令行设置应用程序:dotnet run --server.urls http:// *:5555
答案 10 :(得分:0)
转到您的program.cs文件,添加UseUrs方法来设置您的网址,请确保您不使用保留的网址或端口
public class Program
{
public static void Main(string[] args)
{
BuildWebHost(args).Run();
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
// params string[] urls
.UseUrls(urls: "http://localhost:10000")
.Build();
}
答案 11 :(得分:0)
所有其他答案仅占http = ProxyManager("https://91.208.39.70:8080", cert_reqs='CERT_REQUIRED', ca_certs='f:/cert/certs.pem')
网址。如果网址为HTTP
,请执行以下操作,
示例iisSettings -> iisExpress
如下所示
launchsettings.json
答案 12 :(得分:0)
对我有用。
我使用Asp.net core 2.2
(asp.net core 2.1
和更高版本支持这种方式。
在Kestrel
文件中添加appsettings.json
部分。
像这样:
{
"Kestrel": {
"EndPoints": {
"Http": {
"Url": "http://localhost:4300"
}
}
},
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*"
}
和Startup.cs
中的
public Startup(IConfiguration configuration, IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
答案 13 :(得分:0)
答案 14 :(得分:0)
如果您要在本地开发时在特定的60535端口上运行,但又想在舞台/产品环境服务器的80端口上运行应用程序,则执行此操作。
添加到launchSettings.json中的environmentVariables部分
"ASPNETCORE_DEVELOPER_OVERRIDES": "Developer-Overrides",
,然后将Program.cs修改为
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseKestrel(options =>
{
var devOverride = Environment.GetEnvironmentVariable("ASPNETCORE_DEVELOPER_OVERRIDES");
if (!string.IsNullOrWhiteSpace(devOverride))
{
options.ListenLocalhost(60535);
}
else
{
options.ListenAnyIP(80);
}
})
.UseStartup<Startup>()
.UseNLog();
});
答案 15 :(得分:0)
来自其他机器的客户端能否访问该服务?
添加到 appsettings.json
"Urls": "http://0.0.0.0:8082",