Истекает заголовки при тестировании в Chrome

похоже, что содержимое в color.xml было не в обычном формате. содержимое в автоматически сгенерированном файле color.xml имеет значение цвета для проекта.

для исправления, скопируйте и вставьте этот код в файл color.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#008577</color>
<color name="colorPrimaryDark">#00574B</color>
<color name="colorAccent">#D81B60</color>
</resources>

, если contnet в файле color.xml всегда пропадает, когда вы создаете новый проект студии Android, тогда исправление быть: -

1) нажмите на новый файл, Invalidate Cache / Restart

, если нет, то переустановите Android Studio

5
задан BartoszKP 23 January 2014 в 20:11
поделиться

2 ответа

Я нашел следующее в исходном коде MVC ASP.NET:

 public virtual void RenderView(ViewContext viewContext) {
        // TODO: Remove this hack. Without it, the browser appears to always load cached output
        viewContext.HttpContext.Response.Cache.SetExpires(DateTime.Now);
        ViewUserControlContainerPage containerPage = new ViewUserControlContainerPage(this);
        // Tracing requires Page IDs to be unique.
        ID = Guid.NewGuid().ToString();

        RenderViewAndRestoreContentType(containerPage, viewContext);
    }

Таким образом, это объясняет почему мой Expires заголовок всегда является текущим временем. Однако я действительно не думаю, что это - то, что сбивает с толку Chrome becasue, я создал самую простую страницу следующим образом, и Chrome все еще вполне счастливо возвращался к серверу и давал мне 200

public partial class test : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        TimeSpan cacheDuration = TimeSpan.FromSeconds(33);
       var cache = Response.Cache;

        cache.SetCacheability(HttpCacheability.Public);
        cache.SetExpires(DateTime.Now.Add(cacheDuration));
        cache.SetMaxAge(cacheDuration);
        cache.AppendCacheExtension("must-revalidate, proxy-revalidate");
    }
}
3
ответ дан 15 December 2019 в 01:12
поделиться

Я в значительной степени пришел к заключению, что это - Chrome, делающий что-то ДЕЙСТВИТЕЛЬНО ДЕЙСТВИТЕЛЬНО эксцентричное с кэшированием.

Я упростил его до самого низкого уровня - получение jQuery с сервера Google.

Я ввел:

http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js 

к Chrome и Скрипачу придумал следующие 200 запросов:

Requests started at:    22:58:00:7756
Responses completed at: 22:58:03:5020
Total Sequence time:    00:00:02.7263880
DNS Lookup time:    531ms
TCP/IP Connect time:    63ms

RESPONSE CODES
--------------
HTTP/200:   1

Заголовки были следующим образом (примечание Истекает, спустя 1 год после этого сегодня):

Cache-Control: public, max-age=31536000
Date: Wed, 18 Feb 2009 06:58:01 GMT
Expires: Thu, 18 Feb 2010 06:58:01 GMT
Vary: Accept-Encoding

и затем я ожидал несколько секунд и совершал нападки, входят - в ту же вкладку. Скрипач придумал ДРУГОГО ** 200* запрос:

Requests started at:    22:58:09:2516
Responses completed at: 22:58:12:3999
Total Sequence time:    00:00:03.1482360

RESPONSE CODES
--------------
HTTP/200:   1

И заголовки были:

Cache-Control: public, max-age=31536000
Date: Wed, 18 Feb 2009 06:58:09 GMT
Expires: Thu, 18 Feb 2010 06:58:09 GMT
Vary: Accept-Encoding

Очевидно, это не то, что я ожидал.

Да - Принятый закодированный был тем же для обоих запросов.

Да - третий запрос дал мне 304

Это было на новой установке Chrome, что я никогда не делал никакой разработки на - и на котором я только что установил Скрипача впервые.

Я не могу ждать, чтобы кто-то объяснил это мне. На данный момент я сдаюсь - я думаю, что мой код кэширования и истечения прекрасен. Кроме того, ASP.NET, который MVC, кажется, вызывает, Истекает, чтобы быть текущим временем. Это, очевидно, не фактор в моем примере Google.

Я думаю, что Chrome слишком умен, и это должно быть ошибкой - я нахожусь на версии 1.0.154.48.

1
ответ дан 15 December 2019 в 01:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: