【问题标题】:.NET Core Web API: Possible to assign controller route in appsettings.json config file?.NET Core Web API:可以在 appsettings.json 配置文件中分配控制器路由吗?
【发布时间】:2018-02-27 14:14:13
【问题描述】:

我希望通过配置文件 (appsettings.json) 动态分配我的 Web API 控制器的路由。

我想这可能是一个简单的解决方案。然而,尝试这个 [不出所料] 不起作用:

private static string route = Configuration.GetValue<string>("Path");

[Route(route)]
// action

导致An attribute argument must be a constant expression, typeof expression, or array creation expression of an attribute parameter type

有可能做我想做的事吗?如果是这样,这样做的最佳做法是什么?我找不到太多关于它的文档,并且不想滚动我自己的HttpListener 来完成一个相对简单的目标。

【问题讨论】:

  • 有基于约定和基于属性的路由。对于基于属性的路由,路由模板是一个常量。对于您想要做的事情,您必须创建自己的路由来覆盖内置框架。
  • @Nkosi 谢谢。你能给我拍一篇文章或一些关于一些关键词的东西来研究吗?

标签: c# asp.net-core asp.net-core-mvc asp.net-core-routing


【解决方案1】:

原来是我想多了。

Startup

public void Configure(IApplicationBuilder app)
{
    // basic stuff
    var config = services.GetService<IConfiguration>();
    string route = config.GetValue<string>("Path");

    app.UseMvc(routes => {
        routes.MapRoute("someName", route, new { controller = "myController", action = "myAction"});
    });
}

简单易行。

【讨论】:

  • 是的,有时会发生这种情况。
猜你喜欢
  • 1970-01-01
  • 2019-03-11
  • 2013-11-04
  • 2017-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-27
  • 2017-12-01
相关资源
最近更新 更多