У меня есть простое приложение службы Windows, которое я пытаюсь отладить в IDE VS 2008, но каждый раз, когда я запускаю код, я получаю сообщение об ошибке "Попытка чтения или записи защищенной памяти. Это часто указывает на то, что другие память повреждена. ". Эта ошибка возникает в строке service.Stop()
ниже:
static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main(string[] args)
{
ServiceBase[] servicesToRun;
servicesToRun = new ServiceBase[]
{
new Service1()
};
if (Environment.UserInteractive)
{
Type type = typeof(ServiceBase);
BindingFlags flags = BindingFlags.Instance | BindingFlags.NonPublic;
MethodInfo method = type.GetMethod("OnStart", flags);
foreach (ServiceBase service in servicesToRun)
{
method.Invoke(service, new object[] { args });
}
Console.WriteLine("Press any key to exit");
Console.Read();
foreach (ServiceBase service in servicesToRun)
{
service.Stop();//ERROR OCCURS HERE!
}
}
else
{
ServiceBase.Run(servicesToRun);
}
}
}
Ниже приведен простой класс обслуживания окон
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
}
protected override void OnStart(string[] args)
{
}
protected override void OnStop()
{
}
}