Silverlight 3 и System.ServiceProcess - не позволяет добавить ссылку

Я пытаюсь написать программу, которая может останавливать и запускать службы с помощью SilverLight 3 и VS2010. Не могу добавить ссылку на dll System.ServiceProcess. C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System.ServiceProcess.dll

1-й почему? - Это просто мера предосторожности? 2- Есть ли обходной путь? Есть ли у SilverLight другая библиотека, которую я могу использовать для запуска и остановки служб.

Также обратите внимание, что это настольное приложение, а не веб-приложение. Он будет сидеть на моем рабочем столе, чтобы включать и выключать службы.


person Brad8118    schedule 23.03.2010    source источник


Ответы (2)


Да, это мера предосторожности. Можете ли вы представить себе, какой хаос могли бы вызвать приложения Silverlight в системе, если бы они могли запускать / останавливать службы по своему желанию?

Нет, обходного пути нет, и для этого мне легче отдыхать по ночам.

Думали ли вы вместо этого о написании XBAP с полным доверием? Я не знаю, сработает ли это в вашей ситуации, но я полагаю, что XBAP с полным доверием сможет запускать / останавливать службы. Или даже стандартное настольное приложение WPF? Зачем использовать для этого Silverlight?


Изменить: я действительно не уверен, сможет ли XBAP с полным доверием сделать это, я думаю, это просто то, что стоит изучить.

person Rob    schedule 23.03.2010
comment
Это должно быть простое приложение, и я подумал, что это будет хороший проект для первого приложения Silverlight. - person Brad8118; 24.03.2010
comment
Верно, но с Silverlight это просто невозможно. - person Rob; 24.03.2010
comment
Не более небезопасен, чем любое другое приложение, запускающее и останавливающее службы. Это не похоже на то, что какое-либо приложение может просто подключиться к SCM и делать что-то; сначала его нужно авторизовать. - person Peter Ritchie; 15.05.2011

Единственный способ добиться этого, если вам абсолютно необходим silverlight, - это:

Создайте службу WCF, которая должна быть установлена ​​на машине, на которой вы хотите запускать / останавливать службы. Затем через silverlight вызовите службу WCF и попросите ее запустить / остановить службы.

person Neil    schedule 24.03.2010