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

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

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

Студворк — интернет-сервис помощи студентам
Добрый день.
Пытаюсь создать свой первый сервис.
Для примера попытался сделать следующее:
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
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.08.2015, 06:57
Ответы с готовыми решениями:

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

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

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

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.08.2015, 06:57
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru