2015-01-27 2 views
2

Я написал веб-сайт с использованием ASP.NET.Что происходит с потоком, когда пользователь закрывает окно браузера?

На одной странице моего сайта есть нить. Во время выполнения потока, что происходит с потоком, когда пользователь закрывает окно браузера? Продолжает ли этот поток работать?

+0

Вы можете попробовать его с помощью поддельной длинной беговой нити (Thread.Sleep (100000)) и нескольких журналов. Thread не остановит его выполнение (потому что он асинхронен для HTTP-запроса). Конечно, это будет зависеть от правил ASP.NET, так что это не такая отличная идея для очень долгой разумной задачи. –

+0

«есть одна нить на одной странице моего сайта», то есть .. вы создаете нить? Поток будет работать до тех пор, пока он не будет завершен. Если вы введете бесконечный цикл while, он будет работать «навсегда» –

+0

http://stackoverflow.com/questions/4333152/how-to-detect-browser-close-at-server-side-in-asp-net Подсказка: google для «asp.net, что происходит, когда пользователь закрывает браузер»;) – PTwr

ответ

5

Ваш сервер не знает, что сделал клиент.

Если клиент начал запрос, сервер обработает его и вернет ответ в любом случае.

2

Я думаю, что вопрос, который вы задаете, - это не тот, на который вы хотите ответить.

Ответ на вопрос "Does asp.net lifecycle continue if I close the browser in the middle of processing?": «да». Итак, все, что вы начинаете с ASPX-страницы или MVC-контроллера, продолжает работать, даже если браузер клиента закрыт (обратите внимание, что если это ваш вопрос, это дубликат).

Однако, ответ на "Can I use threads to carry out long-running jobs on IIS?" это «Вы можете, но вы не должны, потому что поток может быть прекращен в любой момент», который вы, вероятно, не хотите.

Смежные вопросы