манифест кеша перестает работать, когда я читаю с 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