У меня есть сервис, и мне нужно получить его публичное поле от другого сервиса.Код этой службы:
public class MyService : ServiceBase
{
private readonly string strConfigXmlFileName = StartupObject.DEFAULT_CONFIG_XML;
private StartupObject _startupObject;
private readonly string serviceName = "My Service";
// this field is changed into service, we need to get its actual value
public string testString;
public MyService()
{
InitializeComponent();
_startupObject = new StartupObject(strConfigXmlFileName);
}
private void InitializeComponent()
{
// For Designer only:
ServiceName = "MyService";
}
protected override void Dispose(bool disposing)
{
if (_service != null)
_service.Dispose();
_service = null;
base.Dispose(disposing);
}
protected override void OnStart(string[] args)
{
try
{
_startupObject.startAll();
}
catch (Exception ex)
{
// some logging
}
}
protected override void OnStop()
{
try
{
_startupObject.stopAll();
}
catch (Exception ex)
{
// some logging
}
}
}
Как я могу получить это поле testString из другого проекта?
Я знаю, как получить ServiceController для него и запустить его, если он не был запущен, может бытьЕсть ли способ получить ServiceBase от ServiceController?