Просмотрите тему для упражнения, если тема похожа на @ style / AppTheme.NoActionBar или одну тему без ActionBar, попробуйте добавить цвет, у вас должен быть стиль (v21), например, такой:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@android:color/transparent</item>
</style>
изменить его на:
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
<item name="android:windowDrawsSystemBarBackgrounds">true</item>
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
</style>
Похоже, теперь я смог увеличить пропускную способность (вдвое больше, чем я получал с открытым Fiddler), установив максимальное количество подключений в App.config:
<system.net>
<connectionManagement>
<add address="*" maxconnection="30" />
</connectionManagement>
</system.net>
Очень доволен результатом, но все еще немного озадачен, почему открытие Fiddler так резко изменило результаты.
Я сразу заметил одну вещь: вы не реализуете использование блоков. Это добавляет коэффициент случайности, который можно умножить на количество запросов, поэтому я предлагаю вам исправить это:
var req = WebRequest.Create(url);
using (WebResponse resp = req.GetResponse())
{
using (Stream s = resp.GetResponseStream())
{
using (var sr = new StreamReader(s, Encoding.ASCII))
{
return sr.ReadToEnd();
}
}
}
Далее, к вашему сведению, Fiddler действует как прокси. Если ваш прокси-сервер по умолчанию был настроен для использования сценария для настройки конфигурации прокси-сервера, то мне интересно, может ли запуск Fiddler не сократить время, необходимое для настройки сценария. Это может произойти только один раз, а не по каждому запросу.
I had a problem similar to yours and wanted to share my resolution.
In short, I had a console program that was making HTTP requests and would, after 15 minutes or so, timeout. However, if I used Fiddler then I never experienced timeouts, even after having it run for days straight.
I tried setting the maxconnections property in App.config, but that didn't seem to help at all. I then went in and each and every reference to HttpWebRequest, HttpWebResponse, and the stream objects used to read/write data to these objects within using blocks.
That seems to have done the trick. I've been running for almost 24 hours now without a timeout and without Fiddler running.
Способ запроса вызывает создание нового сеанса для каждого вызова, что накладно , возможно, скрипач добавляет сеанс к вашим запросам ....
попробуйте
частный статический CookieContainer _cookieContainer = new CookieContainer ();
_httpWebRequest.CookieContainer = _cookieContainer; // с переработкой контейнера cookie