asp.net核心
dotnet MyWebApi.dll
这将开始
倾听的人
localhost:5000
(每次违约)。
假设我有一个
ValuesController
倾听路径的人
/values/
. 这样我就可以从
http://localhost:5000/values/
我现在需要的是添加一个前缀
api
对于api中的所有本地路径,因此values控制器将响应于:
localhost:5000/api/values
.
显然,我可以在控制器的路由配置中更改它-但这是非常冗余的,需要做很多更改,因为我们有很多控制器,而且我们使用
[Route(..)]
控制器本身的属性。
我见过
applicationUrl
中的属性
launchsettings.json
我的webapi项目中的文件。显然,它包含用于Visual Studio调试/启动的配置。在那里添加前缀(通过project properties>debug)可以很好地完成我需要的工作,但这只适用于从VisualStudio启动它(即。
dotnet run
). 在生产环境中,我只有
dotnet publish
可用的工件-
launchsettings.json启动设置
dotnet [assembly]
启动命令(类似于dotnet run)。
一点我为什么需要这个的背景:
/
来自IIS,因为在站点的子文件夹中添加应用程序是常见的,这些站点处理路径前缀部分。我现在用docker部署我的应用程序,api有自己的容器,它是从上面的命令开始的——因此前缀丢失了,我需要以某种方式将其添加回来。