CA2003: Rozlišujte vlákénka od vláken
Název_typu |
DoNotTreatFibersAsThreads |
CheckId |
CA2003 |
Kategorie |
Microsoft.Reliability |
Změnit rozdělení |
Bez rozdělení |
Příčina
Spravované podprocesu je považují za Win32 podprocesu.
Popis pravidla
Nelze předpokládat, že spravované podproces je podproces Win32.Je vlákno.Společný jazykový modul runtime (CLR) spustí spravované podprocesů jako vlákna v kontextu skutečné podprocesů, které jsou majetkem SQL.Tyto podprocesy mohou být sdíleny AppDomain a dokonce databází v procesu serveru SQL Server.Použití spravovaných podproces, místní úložiště bude fungovat, ale mohou použít místní úložiště podprocesu nespravované nebo předpokládá, že kód bude znovu spustit OS podprocesu.Neměňte nastavení národního prostředí podprocesu.Nevolejte CreateCriticalSection nebo funkce CreateMutex prostřednictvím P /, protože vyžadují podproces, který zadá zámek musí ukončit také uzamčení.Protože to není bude v případě použití vlákna, kritické sekce Win32 a mutexy budou nepoužitelné v SQL.Většina státu může bez obav použít spravované System.Thread objektu.To zahrnuje místní úložiště podprocesu spravované a aktuální prostředí uživatelského rozhraní (UI) podprocesu.Však pro programovací model důvodů nebude možné změnit aktuální podproces kultury při použití SQL; to bude vynucováno prostřednictvím nové oprávnění.
Jak opravit porušení
Přezkoumá používání podprocesů a odpovídajícím způsobem změnit váš kód.
Při potlačení upozornění
Nepotlačovat by toto pravidlo.