Partilhar via


Não trata fibras sistema autônomo segmentos

TypeName

DoNotTreatFibersAsThreads

CheckId

CA2003

Category (Categoria)

Microsoft.confiabilidade

Quebrando alterar

Não separável

Causa

Um segmento gerenciado é que está sendo tratado sistema autônomo um thread do Win32.

Descrição da regra

Não pressuponha que um segmento gerenciado é um thread do Win32 - é uma fibra.O CLR executará threads gerenciado sistema autônomo fibras na parte superior de segmentos reais pertencentes a SQL.Esses segmentos serão compartilhados entre AppDomains e até mesmo bancos de dados do processo do SQL servidor.Usar o thread gerenciado local armazenamento funcionará, mas não pode usar o armazenamento local de thread não gerenciado ou assumir seu código será executado novamente no segmento corrente do sistema operacional.Não altere configurações, como localidade do thread.Não chame CreateCriticalSection ou CreateMutex via P/Invoke porque elas exigem o thread que insere um bloquear também sair do bloquear.Como esse não será o caso ao usar fibras, as seções críticas do Win32 e exclusões mútuas serão inúteis no SQL.Você pode usar com segurança a maioria do estado em um objeto sistema.Thread gerenciado, incluindo armazenamento local de thread gerenciado e cultura UI corrente do segmento.No entanto, para razões de modelo de programação, você não poderá alterar a cultura corrente do segmento quando executado no SQL; serão aplicada por meio de uma nova permissão.

Como corrigir violações

Examine o uso de threads e alterar seu código apropriadamente.

Quando suprimir avisos

Você não deverá suprimir esta regra.