2010-04-29 4 views
1

Comment est-ce que je pourrais faire ceci sans accès refusé problème?Envoyer un message au service Windows par la page Web

J'ai un service Windows:

protected override void OnCustomCommand(int command) 
{   
    if (command == 1) 
    { 
     foreach (Process traceProcess in Process.GetProcessesByName("notepad.exe")) 
     { 
     traceProcess.Kill(); 
     }      
    }   
} 

quand je fais ceci:

ServiceController sc = new ServiceController("ProjectManager"); 
if (sc != null) 
    sc.ExecuteCommand(1); 

De une fenêtre forme cela fonctionne, mais pas à partir d'une page Web, je reçois un accès refusé sur sc.ExecuteCommand.

Quelle est la meilleure façon pour une page Web de parler à un service?

Répondre

1

J'ai obtenu une solution de contournement pour le problème d'autorisation; prises

Alors mon service ouvre un port local (non disponible pour toute autre machine, local uniquement)

Puis, dans ma page web je me connecte à cette prise et envoyer l'octet que je veux, et en retour, le service exécute la code que je veux.

Si quelqu'un le demande, je peux publier un exemple de code.

0

Vous devez vérifier les autorisations de l'identité du pool d'applications.

Questions connexes