【发布时间】:2017-10-12 14:49:04
【问题描述】:
我正在使用 ASP.NET Core 2。我正在尝试将 DbContext 注入自定义 IRouteConstraint。但是,似乎在尝试调用 Match 方法之前上下文已被处理掉。我确定我在这里忽略了一些非常简单的东西。有什么想法可以将上下文传递到路由约束中吗?
public void ConfigureServices(IServiceCollection services)
{
...
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ApplicationDbContext applicationDbContext)
{
...
app.UseMvc(routes =>
{
// Route validation
routes.MapRoute("routevalidation", "{*route}", new { controller = "Home", action = "Reroute" }, new { route = new ShinyNewRouteConstraint() });
...
});
}
【问题讨论】:
-
你能展示你的 Startup for DbContext 代码吗?
-
我已经添加了合适的 Startup sn-p。
-
请贴出
ShinyNewRouteConstraint的代码。
标签: dependency-injection asp.net-core-mvc asp.net-mvc-routing entity-framework-core