#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. Вот ссылка, если вы не знакомы: