【发布时间】:2019-05-05 02:13:34
【问题描述】:
在我的一个应用程序中,我遇到了用户必须从前端选择需要使用的数据库的情况。
然后在每个请求中,选择的值作为参数传递,因为所有的都是web api 调用,并且需要根据选择的数据库建立连接。
所以目前我正在编写用于在每个action method 中初始化连接的代码。喜欢:-
public async Task<IActionResult> GetData([FromQuery]string Id, [FromQuery]string database)
{
if(database=="A")
connection conn=new connection("connStringA");//dummy code
if(database=="B")
connection conn=new connection("connStringB");//dummy code
// and so on the logic.........
}
我也可以创建一个单独的method,它也会为我做同样的事情,但我确实需要每次都为所有actions调用method。
这里我还有一个constructor 和DI。
我的问题是,在每个 action 中没有 writing/calling 的情况下,还有其他更好的方法吗?我认为应该有,但我无法通过它。
我在寻找什么:-
- 通过
DI注入任何方式来实现此功能。 - 通过
constructor进行初始化的任何方式。 -
action filters. - 或任何更好的方法。
【问题讨论】:
-
我选择的过滤器 - 这些是处理这种关闭方法的最佳选择
标签: c# asp.net-core dependency-injection custom-action-filter