Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
25 / 25 / 23
Регистрация: 07.06.2015
Сообщений: 142
1

Создание и отладка сервиса

27.08.2015, 06:57. Показов 4397. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Пытаюсь создать свой первый сервис.
Для примера попытался сделать следующее:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public partial class Service1 : ServiceBase
    {
        public Service1()
        {
            InitializeComponent();
        }
        Thread mythread;
        string filename = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) + "\\test.txt";
 
        protected override void OnStart(string[] args)
        {
            mythread = new Thread(SomeProcedure);
            mythread.IsBackground = true;
            mythread.Start();
        }
 
        void SomeProcedure()
        {
            File.WriteAllText(filename, "0123456789", Encoding.Default);
        }
 
 
        protected override void OnStop()
        {
            File.Delete(filename);
        }
    }
подскажите, как можно отладить это дело и проверить его работоспособность? А то при стандартной попытки запуска вываливается ошибка "Сбой при запуске службы Windows. Невозможно запустить службу из командной строки или из отладчика. Сначала требуется установить службу Windows, а затем ее следует запустить, используя программу ServerExplorer, средство администрирования служб Windows или команду .NET START"
Ну и вообще, как этот процесс правильно производить и что на эту тему можно почитать?
Заранее спасибо.

Добавлено через 40 минут
Нашел способ, но все равно требуется помощь:
Установка службы

При попытке запуска вам будет показано сообщение, что, мол, служба запуститься не может и вам нужно использовать installutil.exe для её установки.
Windows Service Start Failure message
Для установки службы вам потребуется консоль Visual Studio, которая находится по пути

Пуск → Программы → Visual Studio 2008 → Visual Studio Tools → Visual Studio 2008 Command Prompt
(в зависимости от версии установленной VS путь может отличаться)
После запуска консоли переходим в директорию, в которую собирается ваша служба в режиме Debug и устанавливаем её:

installutil.exe /i <имя вашей сборки со службой>
Более вам installutil.exe не потребуется. Для удобства запускаем консоль управления службами Windows:

services.msc
Теперь консоль Visual Studio можно закрыть.
Переходим к самому интересному :-)

В код модуля program.cs, сразу после начала метода Main() добавляем следующее:

#if DEBUG
System.Diagnostics.Debugger.Launch();
#endif

Этот код подключает отладчик к процессу и компилируется только в режиме DEBUG. Теперь для отладки службы её нужно запускать не из Visual Studio, а с помощью консоли управления службами (или команды net start).

Но у меня он не видит метод Launch() =\.
Кто может подсказать, как исправить эту проблему или зайти вообще с другой стороны?

Добавлено через 23 часа 39 минут
Кому интересно, нашел следующее решение:
https://msdn.microsoft.com/ru-... .100).aspx
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.08.2015, 06:57
Ответы с готовыми решениями:

Создание сервиса
Всем привет Хотел бы автоматизировать определенный таск А именно Просто выполнять процедуру из...

Отладка сервиса
Возникла следующая проблема: при размещении в веб-методе конструктора класса(описан в этом же...

Отладка по шагам Web-сервиса
Имеется Web-сервис провайдер (на Яве), из его wsdl получаем консюмер. Далее подгружаем к...

создание сервиса
как можно програмно запускать приложения как сервис, по учёткой сервиса ?

0
27.08.2015, 06:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.08.2015, 06:57
Помогаю со студенческими работами здесь

Создание сервиса в MS Azure
Доброе время суток! У меня есть написанный backend на c#, по работе с БД. Написаны контроллеры, в...

Создание неубиваемого сервиса
А как можно создать неубиваемый сервис кроме метода startforaground()? Может какой то флаг можно...

Создание сервиса Win
Задача создать сервис который будет висеть постоянно в системе в фоновом режиме (при этом...

Создание web сервиса 1с
Всем привет. Подскажите пожалуйста, как создать свой веб сервис через который можно будет получать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru