MVC C# ExecuteReader 需要一个打开且可用的连接。连接的当前状态是打开的。错误
MVC C# ExecuteReader requires an open and available Connection. The connection's current state is open. error
我已将此添加到我的 MVC RouteConfig:
routes.MapRoute(
name: "categories",
url: "{sub}",
defaults: new { controller = "cat", action = "Index" }
, constraints: new { sub = new MyCatConstraint() }
);
这是我的 MyCatConstraint Class:
public class MyCatConstraint : IRouteConstraint
{
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
KhanoumiDbContext db = new KhanoumiDbContext();
if (values.ContainsKey(parameterName))
{
string thisCat = values["sub"].ToString();
return db.tbl_Category.Any(c => c.Cat_Name_En == thisCat);
}
return false;
}
}
添加这些后有时会出现此错误:
ExecuteReader 需要一个打开且可用的连接。连接的当前状态是打开的。
你能告诉我我应该怎么做才能解决这个问题吗?
将 KhanoumiDbContext db = new KhanoumiDbContext()
包装在 using
语句中。
我已将此添加到我的 MVC RouteConfig:
routes.MapRoute(
name: "categories",
url: "{sub}",
defaults: new { controller = "cat", action = "Index" }
, constraints: new { sub = new MyCatConstraint() }
);
这是我的 MyCatConstraint Class:
public class MyCatConstraint : IRouteConstraint
{
public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection)
{
KhanoumiDbContext db = new KhanoumiDbContext();
if (values.ContainsKey(parameterName))
{
string thisCat = values["sub"].ToString();
return db.tbl_Category.Any(c => c.Cat_Name_En == thisCat);
}
return false;
}
}
添加这些后有时会出现此错误:
ExecuteReader 需要一个打开且可用的连接。连接的当前状态是打开的。
你能告诉我我应该怎么做才能解决这个问题吗?
将 KhanoumiDbContext db = new KhanoumiDbContext()
包装在 using
语句中。