Как я могу настроить несколько служб Windows?

#c# #windows #web-services #service

Вопрос:

Итак, я создавал службу Windows и следил за этим видео, чтобы настроить службу Windows.

https://www.youtube.com/watch?v=tAF9krJu3cs

Итак, у меня есть Модель, я получаю Модель в контроллере, чтобы я мог построить то, что я хочу отправить, затем я вызываю этот Контроллер в Службе. После этого я создал установщик. Проблема: у меня их 3, и я смог создать их, добавив: [RunInstaller(true)] в начале каждой службы. После этого я говорил, что они не были ручными, и «готовил» их к ошибкам, запускал их, и после этого я их запустил. Но, я включил один из них, другой выключается, и так далее. Я смог включить 3 через некоторое время (возможно, это была ошибка), но все они снова перестали работать….. Мой код:

Установщик проектов:

введите описание изображения здесь

Установщик проектов.Дизайнер.cs :

 {
    partial class ProjectInstaller
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary> 
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing amp;amp; (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Component Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.serviceProcessInstaller1 = new System.ServiceProcess.ServiceProcessInstaller();
            this.AccountService = new System.ServiceProcess.ServiceInstaller();
            this.FinInfoPrevYearService = new System.ServiceProcess.ServiceInstaller();
            this.GetFinancialInfoService = new System.ServiceProcess.ServiceInstaller();
            // 
            // serviceProcessInstaller1
            // 
            this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalService;
            this.serviceProcessInstaller1.Password = null;
            this.serviceProcessInstaller1.Username = null;
            this.serviceProcessInstaller1.AfterInstall  = new System.Configuration.Install.InstallEventHandler(this.serviceProcessInstaller1_AfterInstall);
            // 
            // AccountService
            // 
            this.AccountService.ServiceName = "AccountService";
            this.AccountService.AfterInstall  = new System.Configuration.Install.InstallEventHandler(this.AccountService_AfterInstall);
            // 
            // FinInfoPrevYearService
            // 
            this.FinInfoPrevYearService.ServiceName = "FinInfoPrevYearService";
            this.FinInfoPrevYearService.AfterInstall  = new System.Configuration.Install.InstallEventHandler(this.FinInfoPrevYearService_AfterInstall);
            // 
            // GetFinancialInfoService
            // 
            this.GetFinancialInfoService.ServiceName = "GetFinancialInfoService";
            this.GetFinancialInfoService.AfterInstall  = new System.Configuration.Install.InstallEventHandler(this.GetFinancialInfoService_AfterInstall);
            // 
            // ProjectInstaller
            // 
            this.Installers.AddRange(new System.Configuration.Install.Installer[] {
            this.serviceProcessInstaller1,
            this.AccountService,
            this.FinInfoPrevYearService,
            this.GetFinancialInfoService});

        }

        #endregion

        private System.ServiceProcess.ServiceProcessInstaller serviceProcessInstaller1;
        private System.ServiceProcess.ServiceInstaller AccountService;
        private System.ServiceProcess.ServiceInstaller FinInfoPrevYearService;
        private System.ServiceProcess.ServiceInstaller GetFinancialInfoService;
    }
}

 

ProjectInstaller.cs:

 {
    [RunInstaller(true)]
    public partial class ProjectInstaller : System.Configuration.Install.Installer
    {
        public ProjectInstaller()
        {
            InitializeComponent();
        }

        private void serviceProcessInstaller1_AfterInstall(object sender, InstallEventArgs e)
        {

        }

        private void AccountService_AfterInstall(object sender, InstallEventArgs e)
        {

        }

        private void GetFinancialInfoService_AfterInstall(object sender, InstallEventArgs e)
        {

        }

        private void FinInfoPrevYearService_AfterInstall(object sender, InstallEventArgs e)
        {

        }
    }
}
 

Одна из услуг:

введите описание изображения здесь

Пожалуйста, помогите мне, ребята.. Я больше не знаю, что делать…

Комментарии:

1. Должен признаться, я немного смущен тем, пытаетесь ли вы создать службу Windows (длительно работающую программу без графического интерфейса, которая запускается и останавливается под управлением операционной системы) или веб-сервис.. Код явно относится к службе Windows, но вопрос в целом выглядит так, как будто вы стремитесь решить проблему, которую мы обычно применяем asp.net веб-служба(api) для.. Это не значит, что я не понимаю, что MVC-это парадигма, а также брендинг веб-технологий Microsofty.. просто кажется странным создавать несколько служб Windows, каждая из которых, по-видимому, предоставляет небольшие подмножества данных..

2. @CaiusJard Я делаю это так, как научился.. Ты должен иметь в виду, что я научился всему сам.. Это был единственный способ, который я видел

3. Единственный способ сделать что?

4. @CaiusJard Моя проблема: когда я отмечаю итены в ERP, они переходят на веб-сервис. Моя служба Windows собирается проконсультироваться с веб-сервисом, проверить, есть ли itens, и если да, создайте/обновите itens itens в CRM, чтобы это могли быть акции, клиенты и т. Д. Вот почему у меня есть 3 услуги. Если у вас есть другое решение, скажите мне.

5. @CaiusJard последний разработчик был уволен, я здесь создаю новый веб-сервис, и единственная ссылка, которая у меня есть, — это старый веб-сервис и видео, которые я видел.