Domanda

Noi abbiamo un ServicedComponent (APPLICAZIONE COM+ SERVER) che è abbastanza intensiva dalla CPU. Viene chiamato da un servizio Windows e la quantità di tempo impiegata per completare non è molto importante.

Tuttavia, ne ho bisogno per funzionare con una priorità inferiore. Come posso cambiare la sua priorità?

È stato utile?

Soluzione

Suppongo che il tuo componente sia in esecuzione in un'applicazione server (fuori processo dal tuo servizio Windows).

In tal caso è possibile impostare la priorità del processo COM+ BelowNormal Nel costruttore di classe:

public class Class1 : ServicedComponent
{
    public Class1()
    {
        System.Diagnostics.Process process = 
            System.Diagnostics.Process.GetCurrentProcess();

        if (process.PriorityClass != 
            System.Diagnostics.ProcessPriorityClass.BelowNormal)
        {
            process.PriorityClass = 
                System.Diagnostics.ProcessPriorityClass.BelowNormal;
        }
    }
}

Se eseguo un semplice test, la priorità del processo dllhost.exe è impostata per essere denunciante.

Altri suggerimenti

Penso che tu debba impostare la priorità del servizio di Windows su Bassa.

Quindi si prega di guardare nel link seguente. Spero possa aiutare.

http://social.msdn.microsoft.com/forums/en-us/netfxbcl/thread/0799ff95-3596-40e0-9fd1-c79b4ffab731/

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top