[ sivan347 @ 19.08.2007. 19:56 ] @
Imam jedan mali problem koji ne mogu da resim. Napravio sam jednu stranu koja u kes upisuje dataset sa vise tabela da bih naknadno mogao da za svaku tabelu da iscrtam HTML tabelu na stranici. To sve u lokalu na mom racunaru (i krox debug) radi odlicno. Problem je kad je postavim na web server tamo neradi. Provalio sam (preko upisivanja u log) da je cache objekat uvek null i da ga on uvek kreira tj. kad odem na drugu stranicu pa se vratim cache je null. Da li je tu u pitanju neko setovanje na web serveru ili nesto drugo? Kod za kreiranje i ciranje kesa (ako to nesto znaci): private const string StaticDataSetCache = "StaticDataTableCache"; public enum Tables { Settings = 0, LMenu, Partners } private static DataSet StaticDataSet { get { // Uzima DataSet iz Cache-a Cache oCache = HttpContext.Current.Cache; DataSet ds = (DataSet)oCache[StaticDataSetCache]; // Ako dataset nije u kesu kreira ga i insertuje if (ds == null) { ds = InitSettings(); } return ds; } } public static DataSet InitSettings() //poziva se iz Global.asax na Application_Start { string site = ConfigurationManager.AppSettings["app_name"]; BussinesLogic bl = new BussinesLogic(); Cache oCache = HttpContext.Current.Cache; // Uzima DataSet DataSet dsSettings = bl.GetSiteSetings(GetDataTablesValuesArray(), site); // Insert into cache oCache.Insert(StaticDataSetCache, dsSettings, null, DateTime.Now.AddMinutes(180), Cache.NoSlidingExpiration); return dsSettings; } private static string[] GetDataTablesValuesArray() { string[] s = new string[0]; foreach (Tables value in Enum.GetValues(typeof(Tables))) { Array.Resize(ref s, s.Length + 1); s.SetValue(value.ToString(), s.Length - 1); } return s; } public static DataTable GetData(Tables tableIndex) { return StaticDataSet.Tables[(int)tableIndex]; } |