C# ASP.Net静态方法始终返回相同的结果
我有一个静态方法,看起来像这样C# ASP.Net静态方法始终返回相同的结果,c#,asp.net,asp.net-mvc-3,C#,Asp.net,Asp.net Mvc 3,我有一个静态方法,看起来像这样 public static User GetUser(Guid? UserID = null) { UserID = UserID ?? GetUserID(); return (from u in gdb.Users where u.UserID == UserID select u).Single(); } 问题是,它总是返回相同的结果。如你所见,它从我的数据库中获取数据。即使我更改数据库中的数据,它也会返回相同的结果。这是我第一次重新启动调
public static User GetUser(Guid? UserID = null)
{
UserID = UserID ?? GetUserID();
return (from u in gdb.Users where u.UserID == UserID select u).Single();
}
问题是,它总是返回相同的结果。如你所见,它从我的数据库中获取数据。即使我更改数据库中的数据,它也会返回相同的结果。这是我第一次重新启动调试,因为它开始从DB获取最新的值。这是什么原因造成的?我没有outputcache或类似的东西。我假设您使用的是某种Linq2Sql?什么是gdb.Users?如果gdb.Users是仅在启动时启动的用户列表,则会发生您描述的行为。gdb是我的DataContext,它从我的数据库获取数据。那么数据上下文是静态的吗?我认为那是行不通的。请参阅。您应该避免创建静态DataContext。每个操作或每个请求创建一个。