Я сделал пользовательский обработчик, который происходит от MvcHandler. У меня есть маршруты с помощью настраиваемого RouteHandler, который возвращает мой новый обработчик для GetHttpHandler(), и я переопределяю ProcessRequest() в моем пользовательском обработчике. Вызов GetHttpHandler вызывает точку останова, и конструктор моего обработчика определенно вызывается, но BeginProcessRequest() вызывается на базе MvcHandler вместо ProcessRequest().Почему IHttpAsyncHandler вызывается через IHttpHandler?
Почему методы асинхронного вызова вызываются, когда я ничего не сделал, чтобы называть их? Я не хочу асинхронной обработки, и я, конечно, ничего не сделал, чтобы получить ее. Мои контроллеры производятся от Controller, а не AsyncController.
У меня нет исходного кода для меня прямо сейчас, но я могу добавить его позже, если потребуется. Я надеялся, что кто-то может знать некоторые причины, по которым BeginProcessRequest может быть вызван, когда он не нужен.
Я попробовал приложение MVC 2 из исходного кода с источником System.Web.Mvc и с нулевыми изменениями BeginProcessRequest всегда вызывается, а ProcessRequest - нет. Является ли обработка по умолчанию в MVC 2 асинхронной? Я работал в предположении, что обработка по умолчанию была синхронной, но, похоже, я ошибаюсь. –