We have a Service开发者_如何学CdComponent
(COM+ server application) which is quite CPU intensive. It's called from a Windows Service and the amount of time it takes for it to complete is not very important.
However, I do need it to run with lower priority. How can I change it's priority?
I think you have to set the windows service priority to low.
So please look into the below link. Hope that helps.
http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/0799ff95-3596-40e0-9fd1-c79b4ffab731/
I'm assuming that your component is running in a Server Application (out of process from your windows service).
If that is the case you could set the priority of the COM+ process to be BelowNormal
in the class constructor:
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;
}
}
}
If I run a simple test the dllhost.exe process priority is set to be BelowNormal.
精彩评论