【发布时间】:2016-04-26 06:28:23
【问题描述】:
我正在使用带有实体框架的 web api 项目,并且我计划将实体框架设为动态的 [在运行时更改连接字符串]
在一个普通的 MVC 应用程序中,我这样做了
public class ApiRepository
{
public WebApiLabDbEntities dbContext;
public ApiRepository()
{
string connection_string = (string)(System.Web.HttpContext.Current.Session["Connection"]);
if (String.IsNullOrEmpty(connection_string))
{
dbContext = new WebApiLabDbEntities();
}
else
{
dbContext = new WebApiLabDbEntities(connection_string);
}
}
}
但在 webapi 项目中,我无法在会话对象中设置连接字符串,例如 Session["Connection"]
那么实现相同目标的替代方法是什么? Web api 将使用基于令牌的身份验证,而 auth_token 决定要使用的连接字符串。
【问题讨论】:
-
听起来你想要的是在 WebAPI 中使用 Session。这个有可能。以此为例stackoverflow.com/questions/9594229/…
-
我打算阅读 access_token 并基于它构造 connection_string 并将其保存在某个地方,例如会话或附加到请求 [不知道是否可能],然后从会话或请求访问对象
标签: c# asp.net-web-api entity-framework-4