Как я могу сделать сервисные приложения с Визуальным c# Экспрессом?

Подумайте о статически типизированном языке, вещи на prototype статичны, а вещи на this связаны с экземпляром.

18
задан Bigballs 20 February 2009 в 13:46
поделиться

4 ответа

Абсолютно Вы можете. Можно даже сделать это с csc. Единственная вещь в VS шаблон . Но можно сослаться на System.ServiceProcess.dll сами.

Ключевые пункты:

  • пишут класс, который наследовался от ServiceBase
  • в Вашем Main(), используйте ServiceBase.Run(yourService)
  • в эти ServiceBase.OnStart переопределение, породите любой новый поток и т.д., необходимо сделать работу (Main() потребности выйти быстро, или это рассчитывает как неудавшийся запуск)

Пример кода

, которым был бы Очень простой код шаблона:

Program.cs:

using System;
using System.ServiceProcess;

namespace Cron
{
    static class Program
    {
        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        static void Main()
        {
            System.ServiceProcess.ServiceBase.Run(new CronService());
        }
    }
}

CronService.cs:

using System;
using System.ServiceProcess;

namespace Cron
{
    public class CronService : ServiceBase
    {
        public CronService()
        {
            this.ServiceName = "Cron";
            this.CanStop = true;
            this.CanPauseAndContinue = false;
            this.AutoLog = true;
        }

        protected override void OnStart(string[] args)
        {
           // TODO: add startup stuff
        }

        protected override void OnStop()
        {
           // TODO: add shutdown stuff
        }
    }
}

CronInstaller.cs:

using System.ComponentModel;
using System.Configuration.Install;
using System.ServiceProcess;

[RunInstaller(true)]
public class CronInstaller : Installer
{
  private ServiceProcessInstaller processInstaller;
  private ServiceInstaller serviceInstaller;

  public CronInstaller()
  {
    processInstaller = new ServiceProcessInstaller();
    serviceInstaller = new ServiceInstaller();

    processInstaller.Account = ServiceAccount.LocalSystem;
    serviceInstaller.StartType = ServiceStartMode.Manual;
    serviceInstaller.ServiceName = "Cron"; //must match CronService.ServiceName

    Installers.Add(serviceInstaller);
    Installers.Add(processInstaller);
  } 
}  

И сервисное приложение.NET не установлен тот же путь как нормальное сервисное приложение (т.е. Вы не можете использовать cron.exe /install или некоторый другой параметр командной строки. Вместо этого необходимо использовать SDK.NET InstallUtil:

InstallUtil /LogToConsole=true cron.exe

Ресурсы

62
ответ дан 30 November 2019 в 05:59
поделиться

Вы могли попробовать Visual Web Developer Express наряду с coding4fun библиотекой комплекта разработчика для веб-сервисов (через обертки управляемого кода):-

http://www.microsoft.com/express/samples/c4fdevkit/default.aspx

0
ответ дан 30 November 2019 в 05:59
поделиться

Express Edition может записать и скомпилировать проекты службы Windows, но это не может обычно создавать их. Единственный простой способ состоит в том, чтобы создать новый сервисный проект в Visual Studio и затем скопировать файлы проекта в машину с Express Edition. После этого Вам больше не нужна Visual Studio.

существует 3 способа выполнить это:

  • Переходят к машине с Visual Studio и создают Google проекта
  • учебное руководство онлайн для создания сервисов и загружают исходный код
  • проекта Загрузка и устанавливают 90-дневную пробную версию Visual Studio для создания проекта

Однако, Вы все еще столкнетесь с некоторыми трудностями такой, как будто Вы хотите переименовать свой проект или не иметь для повторения этого для каждого нового сервиса. Лучшее долгосрочное решение состоит в том, чтобы заставить босса наконец платить за копию Стандартного или Профессионального выпуска.

0
ответ дан 30 November 2019 в 05:59
поделиться

Согласно этот статья MSDN у Вас нет шаблона проекта для сервиса. Но я вполне уверен, что, если Вы знаете то, что шаблон делает для Вас, можно создать и скомпилировать сервис.

0
ответ дан 30 November 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: