【发布时间】:2018-11-29 22:35:42
【问题描述】:
我正在尝试配置 kestrel,以便当它处于原始模式时,它可以在特定端口上运行。但是,要这样做,launchsettings.json 似乎需要传递命令行参数才能这样做,因为没有直接选项,并且它总是在端口 5000 上运行,如果你有一个需要运行的 api 和一个网站,这显然会发生冲突.
所以我将 CommandLine 包添加到我的站点,您确实可以在 startup.cs 文件中使用 builder.AddCommandLine()。
问题是如何将 args 从 program.cs 获取到 Startup.cs 或查找它们而不是静态变量。
如果您无法获取参数,这会使扩展方法变得毫无意义。
有更好的方法吗?
【问题讨论】:
-
您是否正在尝试使用命令行上指定的端口运行您的应用程序,例如
dotnet run myproject --port 3333? -
是或者让 vs.Net 或 vs 代码指定一个唯一的端口,这样两个站点可以同时运行。