• Как правильно профилировать оперативную память в ASP.NET MVC? Что значат эти цифры в dotMemory?

    начал тестить, и через минут 10 хостинг заблокировал моё приложение на сутки, за то что потребление оперативной памяти превысило лимит (512Mb)

    Бред какой-то. Они что, рабочий процесс не смогли настроить нормально?

    Само по себе, приложение получилось вовсе не тяжеловесным. 9 запросов в БД на главной странице (на остальных - максимум 5-6). Ничего особенного нет.

    Много :-)

    Сколько вообще нужно оперативной памяти для работы приложения на asp.net mvc, по масштабам схожим с каким нибудь средним порталом с посещаемостью 1-2к в сутки?

    Смотря как делать. Если постараться, сотни мегабайт будет более чем достаточно.
  • Как отрендерить текст поверх всех приложений (включая игры)?

    Примитивный вариант - захватить игру и рисовать её на форме. В нужные места понаставить каких-нибудь label-ов и наслаждаться их мерцанием :-)

    В идеале, придется работать с DirectX. Копать нужно в сторону overlay (DicrectX overlay).

    Что-то типа этого: directdrawoverlaylib.codeplex.com
  • Как создать переменные и хранить их до определённого момента?

    forven: ноль записывать :-)

    По идее же для каждого не авторизованного пользователя результаты поиска должны быть одинаковыми. Если нет, то можно записывать некий Guid (System.Guid.NewGuid()) в Cookies и использовать его для поисковых сессий. Guid будет уникальным.

    Если это нужно вообще на один раз, то можно Session использовать, она уникальная для каждого и живет по умолчанию 20 минут. Отмечу, что не стоит забивать Session большим данными. Единичные значения в небольшом объеме, типа идентификатора, вполне можно хранить.

    Я иногда делаю «гостей», или еще называю их «призраки» :-) Когда пользователь заходит первый раз на сайт и производит некие действия: поиск данных, добавление в избранное, добавление анонимного комментария и т.п., создаю запись в базе и передаю идентификатор в Cookies пользователю. Далее, по этому идентификатору узнаю посетителя и использую при записи действий, которые он (посетитель) производит. Это дает полный контроль над происходящим. Если пользователь указывает свой email или имя (например, при добавлении комментария), то эта информация записывается в базу и потом, при необходимости, используется повторно. По сути, облегченная версия пользователей, но в отличии от нормальных пользователей, информация маловажная и её, при необходимости, не жалко удалить.

    Еще можно использовать localStorage, на стороне JavaScript, если нет необходимости хранить информацию о пользователях в базе. В локальном хранилище можно больше данных хранить, чем в Cookies, но доступ к ним возможен только со стороны клиента (JavaScript).
  • Как создать переменные и хранить их до определённого момента?

    forven: Если использовать кэш, то можно просто добавлять идентификатор пользователя в ключ:
    string key = String.Format("РзеультатыПоиск-{0}". userId);
    if (HttpContext.Cache[key] == null) 
    {
      // HttpContext.Cache.Add(key, data...
    }
    else
    {
      var data = HttpContext.Cache[key];
    }

    Можно еще и поисковую сессию указывать, если она создается в базе:
    string key = String.Format("РзеультатыПоиск-{0}-{1}". userId, searchRequestId);

    и т.п.

    Если создавать поисковую сессию в базе, то ссылку на пользователя можно хранить там же. А в кэше будет достаточно указывать идентификатор поисковой сессии.
  • Как повторить текущую итерацию while C#?

    Артем: может делать параллельно, но тогда и задача будет чуть сложнее. Задание должно выполняться в потоке. Либо логику обработки очереди нужно менять/дорабатывать. Да и веб-запрос ведь тоже будет блокировать выполнение текущего потока. Одним словом, мы ничего не знаем о задаче и решение можно предложить только в рамках поставленного вопроса.

    Если не изменяет память, раньше оператора goto в C# не было. Раз есть, не пропадать же добру :-) Не представляю, где его в боевых условиях можно использовать, на ум приходят только простенькие или «ленивые» программки. Или для решения школьных задачек по информатике, думаю, вполне возможно. Ну или при целенаправленном запутывании кода, однозначно должно быть полезно :-)
  • Как повторить текущую итерацию while C#?

    Артем:
    goto - это оператор, из-за которого лет 40 назад разбираться в чужом коде было сущим адом

    Священновойновая тема :-)
    Goto тут в общем-то и не причем. И без него можно такого намудрить.
    Один goto в коде не геморрой :-)
    Thread.Sleep насколько я знаю тоже плохо использовать

    Паузу делать не помешает. В случае с веб-запросами, если сервер вернет ошибку и его сразу же дернуть, не факт, что он успеет оклематься. А если его дергать бесконечно, он вообще может упасть и не встать.
    try catch вроде тоже стоит избегать

    И как вы планируете перехватывать исключения без try catch, если не секрет?
  • Как повторить текущую итерацию while C#?

    Армянское Радио: можно и сложнее сделать: классы, события реализовать. Смотря, что требуется. Возможно, так будет правильный/красивее. Особенно при работает с потоками. Но к этому автор сам должен прийти. А если информации по теме будет слишком много, то вопрос может превратиться в коммерческий :-)

    Использование задержек - достаточно простой и универсальный вариант.

    Вполне возможно, что и первый, предложенный мной, вариант подойдет. Если работа ведется по списку, то там видимо должен счетчик какой-то быть. Тогда можно обойтись одним while и просто делать continue, не увеличивая счетчик. Конечно, с учетом времени на обработку одного задания или число попыток, чтобы не застрять в бесконечности.

    Сейчас добавлю в ответ примечание по goto, на всякий случай :-)
  • Как повторить текущую итерацию while C#?

    Армянское Радио: верно, поэтому и в крайнем случае.

    Сейчас покажу, как может быть с while.
  • Как повторить текущую итерацию while C#?

    delitme: в таком случае сделать дополнительный while, который будет пробовать определенное количество раз получить файл, пока файл не будет получен или не будет превышено число попыток.
  • Каков алгоритм создания бота для OK.ru?

    с определенной задержкой по времени посещает страницы и отправляет им сообщения

    Мне нужно регистрироваться, как разработчик на одноклассниках для регистрации приложения?

    Это примерно как: Хочу ограбить банк, мне нужно регистрироваться в полиции?

    :-)
  • Проблемы с подключением к серверу MsSql 2012 с удаленного компьютера. Куда копать?

    У меня были похожие проблемы, но они скорее локальные. Где-то в Windows.
    Программно в localhost невозможно было работать с базой (на любом внешнем сервере), постоянно этот %#!@#% семафор выскакивал :-) Чего я только не пробовал делать. Так и не понял, почему это происходило.

    При этом, из SQL Server Management Studio с базой можно было работать нормально.

    Давно не попадалась такая проблема. Может из-за переустановки Windows или смены провайдера. Раньше, когда начинал копать, то проблема исчезала. Потом возвращалась. Помню, даже график пытался составить, когда она появляется :-) Поставщика интернета (провайдера) донимал вопросами по этой теме, но безрезультатно.
  • Как настроить редирект в IIS?

    <rule name="Snapshots" stopProcessing="true">
      <match url="([^\?]+)" />
      <conditions>
        <add input="{QUERY_STRING}" pattern="_escaped_fragment_" />
      </conditions>
      <action type="Redirect" url="{R:0}.html" appendQueryString="false" />
    </rule>
  • Как всё-таки сделать динамическую sitemap.xml для сайта?

    Дмитрий Куликов: если нет доступа к серверу, то придется делать робота, который будет сканировать сайт и создавать карту. Задача вроде не сложная, но и не такая простая. Проще сделать карту руками, для необходимых разделов.

    Или, как вариант, можно поискать готовые online-сервисы, которые сами все сделают. Процесс запуска генерирования карты и скачивания результатов можно автоматизировать. Это будет проще, чем делать свой сканер. Главное нормальный сервис найти.
  • Как всё-таки сделать динамическую sitemap.xml для сайта?

    От сайта зависит. Иногда используем Google Sitemap Generator. На Windows-серверах, эта программка генерирует карты для всех сайтов автоматически.

    Руками делать, если требуется полный контроль и лучшее качество. Обычно карта формируется не по сканированию структуры сайта, а по данным. Например, по базе новостей, статьей, форумов и т.п. Примерно, как RSS.
  • Как скачать html станицу в кодировке windows 1251?

    var web = new WebClient {Encoding = System.Text.Encoding.GetEncoding(1251)};
    var result = web.DownloadString("example.org");
  • Что делать с воровством контента?

    3vi1_0n3: в поддержку писать.

    Если контент копируется автоматически и часто, то можно подставить владельца этого "копировального аппарата", опубликовав запрещенный в России материал, или еще что-нибудь в подобном стиле. Главное себе не навредить :-)
  • Что делать с воровством контента?

    Хостеры и регистраторы, как показывает практика, без судебного решения отказываться от клиентов не будут. Причем не только в России, но и во многих всех странах.