C# 实体框架缓存多个服务器

C# 实体框架缓存多个服务器,c#,entity-framework,change-tracking,C#,Entity Framework,Change Tracking,我们正在使用EntityFramework4,并且正在使用repository模式和Structuremap for DI创建上下文 private readonly BLEntities _context; public ProductService(BLEntities context) { _context = context; } 我们最近已经转移到Azure,因此在任何时候我们都有两台服务器托管该网站。现在,如果我在一

我们正在使用EntityFramework4,并且正在使用repository模式和Structuremap for DI创建上下文

private readonly BLEntities _context;
public ProductService(BLEntities context)
{            
        _context = context;             
}
我们最近已经转移到Azure,因此在任何时候我们都有两台服务器托管该网站。现在,如果我在一台服务器上获得一个产品,然后转到另一台服务器并更新该产品,然后返回到第一台服务器并重新加载页面,我将获得该产品的“旧”结果。这是为了测试,所以我们这边没有缓存。这与实体框架更改跟踪有关吗?如果是,我应该做些什么来缓解这个问题

我只是运行一个简单的select查询来获取产品

var query = from p in _context.Products
            where p.ProductId == 1
            select p;

谢谢

您是想以某种方式保持上下文,还是它们是短暂的?我不知道StructureMap,但使用Ninject,我显式地将上下文生存期限制在请求范围内:kernel.Bind().to().InRequestScope();嗨,尼尔,我没有明确做过这样的事。对于结构图,我使用For();因此,我猜问题可能是由于上下文存在的时间比它应该存在的时间更长?您确定重新加载不是从浏览器中的缓存加载web吗?尝试使用浏览器开发工具检查新网页请求是否真的要发送到服务器。您是否尝试过使用Ctrl+F5强制刷新网页?