Здравствуйте, Glenn, Вы писали:
G>У меня есть следующая задача. В моём ASP.NET приложении мне надо создать отдельный поток который будет выполнять некую фоновую операцию. Изначально я сделал этот поток как BackgroundWorker. Однако потом я захотел чтобы ПРИОРИТЕТ этого потока был BelowNormal — то что он делает является второстепенной задачей по отношению к обрабоке входящих HTTP Requests. Так как для потока BackgroundWorker изменить приоритет нельзя (см http://social.msdn.microsoft.com/forums/en-US/vblanguage/thread/34cf0b06-1cda-403f-99db-60a0a8f24875), я переделал этот поток на просто Thread — создаю Thread и ставлю ему BelowNormal.
G>Всё работает, но: так как я никогда не имел дела с потоками ASP.NET, хочу выяснить: возможны ли какие-то проблемы при таком подходе? Может, есть опасность того что такой поток с приоритетом BelowNormal будет когда-то работать неправильно? Он у меня работает с базой через LINQ-SQL.
Вопрос был задан давно, но может быть еще актуален, так что отвечу. Нет такого понятия, как "поток ASP.NET", выполнение потока не зависит от того, внутри ASP.NET он, или где-нибудь в консольном приложении. Так что все будет нормально. Хотя выполнять в ASP.NET приложении фоновые задачи — не самая удачная идея, лучше бы все-таки фоновую обработку вынести в сервис.