Что-то быстрее, чем HttpHandlers?

Но если вы хотите, чтобы ваш текст и изображение бок о бок, то это вам поможет.

<div class="row">
<p class="col-md-8">Text goes here....</p>
<img class="img-circle col-md-4" src="image goes here..." alt="image text">
</div>
18
задан Jakob Gade 4 February 2009 в 03:40
поделиться

3 ответа

В зависимости от того, что Вы делаете, я не ожидал бы видеть большое улучшение просто использование HttpHandler. Я запустил бы просто пишущий HttpHandler и видя, как он работает. При необходимости в нем, чтобы быть быстрее, попытайтесь смотреть более тесно на вещи, которые Вы на самом деле делаете при обработке запроса и наблюдении того, что может быть оптимизировано. Например, при выполнении какого-либо входа к базе данных попытайтесь писать в локальную базу данных вместо через сеть. Если это все еще не достаточно быстро, то, возможно, изучают запись, что что-то понижает уровень. До той точки, хотя, я придерживался бы с тем, что является самым легким для Вас записать.

Для ссылки, я записал сервер рекламы в ASP.NET (использующий HttpHandlers), который может вручить рекламу (включая предназначение и вход впечатления к локальной базе данных) в 0-15ms при загрузке. Я думал, что делал довольно мало обработки - но это - довольно хорошее время отклика, по моему скромному мнению.

<час>

Обновление после нескольких месяцев :

при очистке всех HttpModules, которые включены по умолчанию, это удалит изрядное количество издержек. По умолчанию следующие HttpModules включены в каждый сайт через машину уровень web.config файл:

  • сессия OutputCache
  • (для состояния сеанса)
  • Профиль WindowsAuthentication
  • FormsAuthentication
  • PassportAuthentication
  • RoleManager
  • UrlAuthorization
  • FileAuthorization
  • AnonymousIdentification
  • ErrorHandler
  • ServiceModel

Как я сказал выше, мой сервер рекламы не использует ни одного из них, таким образом, я только что сделал это в web.config того приложения:

<httpModules>
   <clear />
</httpModules>

при необходимости в некоторых из тех, но не всех, можно удалить тех, Вам не нужно:

<httpModules>
   <remove name="PassportAuthentication" />
   <remove name="Session" />
</httpModules>

ASP.NET Примечание MVC: ASP.NET MVC требует модуля состояния сеанса, если Вы не делаете что-то характерное для обходного решения он. Посмотрите этот вопрос для получения дополнительной информации: , Как я могу отключить состояние сеанса в ASP.NET MVC?

Обновление для IIS7: , К сожалению, вещи не вполне как простые в IIS7. Вот , как очистить HTTP-модули в IIS7

26
ответ дан 30 November 2019 в 08:22
поделиться

Я не уверен, каков Ваш точный сценарий, но если вся Ваша страница делает, обрабатывает некоторые данные, Вам действительно не нужны aspx страница или http обработчик вообще. Вы могли записать веб-сервис ASMX или сервис WCF, чтобы сделать то, в чем Вы нуждаетесь, и это, скорее всего, было бы меньше служебным. Сервис WCF не должен даже быть размещен в ASP.NET. Можно разместить его от службы Windows или консольного приложения, и призвать его - proc использующий именованные каналы. Это, вероятно, уменьшило бы издержки для вызова кода обработки данных значительно.

1
ответ дан 30 November 2019 в 08:22
поделиться

Если вам действительно нужно использовать asp.net, вы также можете просто подключиться к шагу AuthorizeRequest и перехватить запрос оттуда, выполнить свою обработку и написать свой ответ Done напрямую .

0
ответ дан 30 November 2019 в 08:22
поделиться
Другие вопросы по тегам:

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