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.