信じられないことですが、実際に起こっています。
次のコードがあります。
public class UserData
{
public string displayname;
public int age;
}
UserData ud = new UserData();
ud.displayname = "bar";
ud.age = 2;
HttpContext.Current.Cache.Insert("foo", ud, null, DateTime.Now.AddMinutes(20), TimeSpan.Zero, CacheItemPriority.Normal, null);
UserData lud = HttpContext.Current.Cache["foo"];
HttpContext.Current.Trace.Write("displayname",ud.displayname);
出力は何だと思いますか?
"bar"
引用しました!!!! (int フィールドは影響を受けず、int として返され、引用符で囲まれていないなど...)
何故ですか?MSDN と google で検索しても無駄でした。