Вопрос

В течение последних нескольких дней моих праздников X-MAS я боролся с UnthorizedAccessException, пытаясь прочитать файл XML на удаленном обмене через мое приложение ASP.NET, используя реализацию Ihttpasynchandler долгое время с IrequireSessionState.

После долгих голов и пришел к выводу, что код за пределами обработчика работал безупречно (см.: Доступ предоставленный), я подумал, что это может быть какая -то проблема, поэтому я изменил ihttpasynchandler на ihttphandler, и проблема исчезает.

Что меня беспокоит, так это то, что для тестовых целей я на самом деле не использовал, если реализация ihttpasynchandler (следовательно, я не использовал startprocessrequest и endprocessrequest - только синхронизация. Версия, ProcessRequest.

Кто -нибудь может попытаться объяснить проблему под рукой?

Есть некоторые полезные вопросы при использовании асинхронного использования обработчика, так как я мог бы предварительно погасить значения, которые будут доставлены позже в приложении, но для этого я должен получить проблемы с безопасностью, которые, кажется, проявляются только при реализации ihttpasynchandler Анкет

Заранее спасибо за вашу любезную помощь - и счастливых праздников :-)

Это было полезно?

Решение

Инфраструктура ASP.NET по -разному вызывает асинхронологический обработчик (независимо от того, действительно ли IMP действительно асинхронно). Возможно ли, что вы полагались на олицетворение для доступа к сетевому ресурсу? Я предполагаю, что необходимая идентичность Windows не переходила к потоке Threadpool, которая фактически обрабатывала запрос (я никогда не пытался использовать подражание + асинхронное обработчик, но в прошлом я был прибит к другим проблемам потока потока).

Несмотря на это, истинный асинхенный обработчик дорого правильно реализовать. Если вы не строитесь на многих других асинхронных инфраструктуре (асинхронный ввод -ввод, асинхронный клиент DB и т. Д.), Это не приносит вам ничего хорошего (на самом деле, даже в лучших случаях, асинхронные обработки причиняют необработанные производительность). Я бы посмотрел, действительно ли ваши потребности в производительности действительно оправдывают дополнительные хлопоты и накладные расходы асинхронного обработчика (например, вам нужно обслуживать гораздо больше параллельных запросов, чем потоки в процессе и т. Д.).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top