我在大型网络应用程序的中间,我使用实体框架作为我的数据服务,现在我们需要一些 Windows 应用程序来处理我们的数据,所以我想用 WCF 给他们一个服务
但是当我的客户想要获得服务时,我用于缓存实体模型的公共财产发生了一些错误
public partial class DepositEntities : ObjectContext
{
public static DepositEntities Current
{
get
{
DepositEntities oc =
HttpContext.Current.Items["ObjectContext"] as DepositEntities;
if (oc == null)
{
oc = new DepositEntities();
HttpContext.Current.Items["ObjectContext"] = oc;
}
return oc;
}
}
}
在调试代码后,我知道问题出在这一行
DepositEntities oc = System.Web.HttpContext.Current.Items["ObjectContext"] as DepositEntities;
当我将我的Current
财产主体更改为这样的东西时
public static DepositEntities Current
{
get
{
DepositEntities oc = new DepositEntities();
return oc;
}
}
当我从服务中获取数据时一切正常 我没有问题
但是在我加入我的代码的任何地方我都有问题,因为它认为有不同的数据源,因为new DepositEntities();