Было бы лучше обработать запрос в global.asax?

#c# #.net #asp.net #global-asax

#c# #.net #asp.net #global-asax

Вопрос:

Я выполняю простой синтаксический анализ запроса, который принимает URL-адреса с параметрами querystring и выдает обратно xml.

Прямо сейчас все это обрабатывается на странице default.aspx, поэтому мне не нужно много возиться с переписыванием url и тому подобным. Было бы лучше сохранить страницу по умолчанию.aspx, но обрабатывать запросы на странице global.asax?

Было бы это более оптимизировано таким образом?

Комментарии:

1. Является ли это узким местом в производительности? Если нет, то этот необычный подход может сбить с толку (а) любого, кто должен поддерживать ваш код … (б) вас примерно через два месяца!

2. Я не согласен, я думаю, что это был бы менее запутанный подход, поскольку он обрабатывается в центральном месте.

3. Любой метод может сбить с толку… просто не забудьте хорошо прокомментировать свой код, чтобы всем, кому нужно работать над этим, не нужно было искать какую-либо документацию.

Ответ №1:

Для запросов, которым не требуется полномасштабный ASP.NET страница, вам следует взглянуть на IHttpHandler интерфейс или просто создать ashx файлы.

Комментарии:

1. Да, это то, что я имел в виду. Я беспокоился о накладных расходах на жизненный цикл страницы в запросе.

Ответ №2:

Обычно я реализую класс базовой страницы, который наследует System.Web.UI.Page, тогда все мои страницы наследуют базовую страницу.

Укажите методы, которые вы хотите использовать на сайте, на базовой странице.

Ответ №3:

Похоже, то, что вы пытаетесь сделать, — это то, для чего предназначен HttpHandler. Вот ссылка, если вы не знакомы:

MSDN- HttpHandler