我的WebAPI项目中有一个名为News的控制器,我有两个名为Get的默认操作,它处理以下URL:
/ api/News < - 这将返回news/api/News/123 < - 这将返回id的特定新闻项目列表.
到目前为止一切都很简单,显然默认路由处理这些场景.我接下来想要一个看起来像这样的URL:
/ api/News/123/Artists < - 将返回与指定新闻项目相关的所有艺术家.
现在我对ASP.Net MVC和WebAPI都是相当新闻,所以这是我第一次不得不处理路由.我修改了我的默认路由,如下所示:
routes.MapRoute(
name: "Default",
url: "{controller}/{id}/{action}",
defaults: new { controller = "News", action = "Get", id = UrlParameter.Optional }
Run Code Online (Sandbox Code Playgroud)
所以我在这里将{action}移到了URL的末尾,并在我的News控制器中添加了Artists方法.这仍然适用于前两个场景,但为第三个场景返回404.
显然路由不适用于/ api/News/123/Artists,但我不明白为什么.
我似乎无法找到任何像这样使用WebAPI的人的例子,这让我觉得我做的事情从根本上是错误的.
任何帮助,将不胜感激.
我环顾四周,但找不到任何说明 Array.find() 使用哪种算法的地方。这是一个简单的循环还是二分搜索?
我想每个 JS 引擎都有所不同,但必须就这个功能如何工作达成共识。
我有一个从 Azure 容器注册表部署的 docker 映像。一切正常,除了我希望能够看到环境变量从门户中配置的应用程序设置传递给我正在运行的 docker 映像。它是一个使用 process.env.VariableName 访问环境变量的 Node 应用程序。
作为一个例子,它在这里说 https://blogs.msdn.microsoft.com/waws/2017/09/08/things-you-should-know-web-apps-and-linux/#SetEnvVar ...“应用程序设置被注入在运行时作为环境变量进入您的应用程序”
我尝试了以下方法。
在 Azure 门户中设置应用程序设置。这些应该按照文档传递给正在运行的 Docker 映像,但我的 Node 应用程序中的 process.env.VariableName 未设置。
我曾尝试使用设置环境变量的 Docker 撰写文件,但 process.env.VariableName 再次为空。
我什至更新了 VSTS 构建参数,在构建时将变量传递给我的 Docker 文件,从而设置环境变量。同样没有变量传递给正在运行的 Docker 镜像。
我的结论是 Azure Web App for Containers 中不允许自定义环境变量?
难道我做错了什么?