У меня есть только что развернутое приложение, которое по сложным причинам сохраняет все данные из базы данных в модуле, когда в первый раз требуются какие-либо данные из конкретной таблицы (т. Е. Когда клиент запрашивает просмотр продукта для в первый раз все данные о продукте хранятся в классе ProductManager (экземпляр которого хранится в общем свойстве класса SiteContent, благодаря чему ProductManager легко доступен с любой страницы).
Теперь забудьте, что вы, вероятно, теперь пристально смотрите на меня за использование этого подхода ... Я уверен, что он неэффективен, но я изучаю .Net только год или около того, поэтому я все еще учусь.
Одна вещь, которую я заметил, это то, что я могу зайти на сайт один раз, а затем снова посетить его через 5 минут, и он снова загрузит все данные в класс ProductManager. Похоже, это тайм-аут приложения .Net, так как тайм-аут сеанса установлен на 30 минут и, когда я вошел в систему на стороне администратора, он выходит из системы через 5 минут (ish).
Кто-нибудь знает, как это изменить? Можно ли как-то изменить это в коде, не связываясь с хостинговой компанией? Если нет в коде, есть ли способ изменить это в файле web.config?
Заранее спасибо.
С уважением,
Richard
Подробнее:
Модуль (SiteContent) хранит экземпляр каждого класса "Manager" - страницы могут вызывать Manager.Create, Manager.Update, Manager.Remove и т. Д. И т. Д. И использовать Manager.Items для доступа к списку элементов, хранящихся в диспетчере ( например, SiteContent.ProductManager.Items возвращает все продукты, хранящиеся в базе данных, а SiteContent.UserManager.Items возвращает список всех пользователей, хранящихся в базе данных). Кажется, что, поскольку это модуль, он распределяется между пользователями и загрузками страниц.
Я попытался вернуться на страницу и перезагрузить ее через 3 - 4 минуты, и она загружается нормально, но примерно через 5 минут требуется несколько секунд, чтобы снова загрузить страницу (не долго - но я бы предпочел, чтобы она не добавлялась несколько секунд до загрузки первой страницы каждые 5 минут).
Это особенно раздражает моего папу (владельца бизнеса), когда он вводит продукты, для входа в которые требуется более 5 минут, или которые при входе в него он делает перерыв на 2 минуты, а затем просит его снова войдите в систему, нажав на кнопку отправить, потеряв все свои данные одновременно. Я не использую метод, указанный в разделе аутентификации web.config для входа в систему - я использую форму с кнопкой входа в систему и, щелкая по ней, сравнивает введенные имя пользователя и пароль с именем каждого пользователя (через SiteContent.UserManager.Items).
Кроме этого, я не знаю точно, что вы хотите знать .. Можете ли вы рассказать о какой-либо конкретной информации, которую вам нужно знать?
При поиске в Google я обнаружил, что есть ExecutionTimeout и shutdownTimeout, которые я собираюсь изменить ...
Подробнее:
хм, кажется, я только что решил проблему времени загрузки страницы .. Я заметил, что тестовая база данных была более 13 МБ, а рабочая база данных была только 3 МБ. Я немного расследовал это.
Обычно журнал ошибок регистрируется каждый раз, и изображение не может быть найдено, если оно запрашивается на странице каталога. Тестовый сайт не обновлялся с изображениями, так как он не должен быть таким, поэтому таблица недостающих изображений поднялась до> 10MB .. и придется отключить регистрацию изображений при тестировании. Я удалил все из этой таблицы, и теперь все быстро загружается.
Что касается времени ожидания, я собираюсь оставить это до более поздней даты - я трачу слишком много времени на это, когда у меня есть более важные вещи, чтобы расставить приоритеты в данный момент - этот сайт был фактически моим проектом последнего годав универе, и у меня есть презентация об этом в пятницу .. обязательно добавлю в этот пост более подробную информацию о том, как я справлюсь с этой проблемой в будущем, поэтому, пожалуйста, заходите сюда время от времени ..
Спасибо, что потратили столько времени на это ..
С уважением,
Ричард