манифестът на кеша спира да работи, когато чета от SQL Server

Използвам манифест на кеша, за да направя уеб приложение достъпно офлайн. Всичко работи добре, докато не добавя функционалността, която се свързва с базата данни на SQL Server (използвайки низ за връзка, съхраняван в кода отзад, а не в web.config). Страницата е проста празна тестова страница без изображения или други ресурси. Някак си връзката с базата данни е тази, която му пречи да работи - работеше преди (дори при свързаност с база данни) и след това просто спря...

КОД (само page_load...нищо друго в страницата) страница, наречена 'tryit2.aspx'

protected void Page_Load(object sender, EventArgs e)
    {
            //open connections
            oConn = new SqlConnection();
            oConn.ConnectionString = _connectionString;
            oConn.Open();

            ////----FETCH SUBCAT PRODS FROM DB
            _currentDT = new DataTable();

            SqlDataReader sqlDR2 = this.executeSQLcommand_returnDataReader(oConn, loadMenu, true, null);
            _currentDT = new DataTable();
            _currentDT.Load(sqlDR2);
            sqlDR2.Dispose();

            //dynamically create the cache manifest file
            string appPath = Request.PhysicalApplicationPath;
            string filePath = appPath + "cache.manifest";
            StreamWriter w;
            w = File.CreateText(filePath);

            w.WriteLine("CACHE MANIFEST");
            w.WriteLine("CACHE:");

            w.WriteLine("tryit2.aspx");

            w.WriteLine("NETWORK:");
            w.WriteLine("*");

            //closing the streamwriter
            w.Flush();
            w.Close();
}

Някаква идея защо може да е това, моля?


person JeanPaul Galea    schedule 11.06.2013    source източник
comment
актуализира публикацията ... това помага ли? Благодаря :)   -  person JeanPaul Galea    schedule 11.06.2013


Отговори (1)


Ако генерирате манифеста динамично по този начин, тогава трябва да сте сигурни, че отговаряте с 304 Not Modified, ако файлът всъщност не е променен (вижте стъпка 7), в противен случай (на стъпка 24) целият кеш ще бъде повторно изтеглени, когато браузърът направи втора заявка за файла на манифеста, за да потвърди, че не е актуализиран, докато кеша се инстанцира. Също така е важно да зададете заглавки за изтичане на URL адреса на манифеста, така че браузърът никога да не кешира самия манифест.

person robertc    schedule 11.06.2013
comment
благодаря Робърт... тогава защо връзката с базата данни причинява неуспеха? тук не актуализирам манифеста на кеша, а го създавам от нулата, където все още не съществува...ако е създаден, няма ли просто да зареди кешираната версия, когато страницата е достъпна? - person JeanPaul Galea; 11.06.2013
comment
Също така се опитах да дефинирам манифеста на кеша статично, като написах сам записите в манифеста и все още не работи, когато имам връзка с базата данни - person JeanPaul Galea; 11.06.2013
comment
@JeanPaulGalea Проверете заглавките на заявките - person robertc; 11.06.2013