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。每个操作或每个请求创建一个。