【发布时间】:2018-04-10 14:26:33
【问题描述】:
我有这样的 API 路由属性类
public class MyRouteAttribute : RouteAttribute
{
private const string BaseRoute = "api/default";
private const string PrefixRouteBase = BaseRoute + "/";
public MyRouteAttribute() : base(BaseRoute)
{
}
public MyRouteAttribute(string route):
base(string.IsNullOrEmpty(route) ?
BaseRoute : PrefixRouteBase + route)
{
}
}
它在这样的控制器中使用
[MyRoute]
public class MyController : Controller
{
.....
}
如果我必须使路由可配置,如何将IOptions 传递给 MyRoute?
例如,如果我这样做:
public class MyRouteAttribute : RouteAttribute
{
private const string BaseRoute = "api/default";
public MyRouteAttribute(IOptions<ApiRouteBaseConfiguration> routeOptions) :
base(routeOptions.Value.Url)
{
}
public MyRouteAttribute(IOptions<ApiRouteBaseConfiguration> routeOptions, string route):
base(string.IsNullOrEmpty(route) ? (routeOptions.Value.Url: $"{routeOptions.Value.Url}/" + route)
{
}
}
然后我在这里收到错误[MyRoute] 要求我通过IOptions。
如何访问 MyRoute 属性中的配置
【问题讨论】:
标签: c# asp.net-core