Я написал службу Windows, которая использует почтовый клиент openpop и получает письма. Затем он проходит через базы данных об обновлении темы и тела и все виды вещей. Он также загружает вложения и создает каталог папок на диске на основе метки времени письма, которое он отправляет по году, затем по месяцу, затем по дню и затем сохраняет изображение. Итак, я создал этот сервис на своем компьютере в процессе разработки, используя проект библиотеки классов, проект winform для отладки и проект службы Windows.
Вся логика содержится в библиотеке классов. Я собираю библиотеку и ссылаюсь на dll как в форме, так и в службе Windows. Когда я собираю сервис на своей машине и устанавливаю его с помощью installutil, он работает нормально и делает то, что должен. Но когда я пошел в производство, ОС была Windows Server 2003 R2, и она использует другую строку подключения для базы данных LIVE.
Единственное, что изменилось, это строка подключения и операционная система. Я установил службу, и она установлена нормально, но ничего не делает. Он не создает папки и не сохраняет изображения на диск. Я знаю, что должен был регистрировать ошибки, но это моя первая работа, и я новичок в этой области. Поэтому я попытался записать некоторые события регистрации, но он не создает журнал и не записывает события. На самом деле, если я пытаюсь создать журнал и записать событие, как мой первый вызов в подпрограмме onstart, он этого не делает. Теперь я потерян, и я не уверен, куда идти отсюда. Если вы нашли время, чтобы прочитать это, я буду благодарен за любые ваши комментарии.
Это код в моем методе OnStart.
Dim LiveEvents As New EventLog
If Not EventLog.SourceExists("MySource") Then
EventLog.CreateEventSource("MySource", "GL")
End If
LiveEvents.Source = "MySource"
LiveEvents.Log = "GL"
LiveEvents.WriteEntry("ServiceStarted and is working.", EventLogEntryType.Information)
Dim Logic As New ProcessMail
workTimer = New Timer(New TimerCallback(AddressOf Logic.ProcessMessages), Nothing, (1000 * 60 * 10), (1000 * 60 * 10))
LiveEvents.WriteEntry("Called Our DLL", EventLogEntryType.Information)
MyBase.OnStart(args)
Итак, если вы не знаете, вопросы здесь, они идут.
1. Если мне нужно создать каталоги и сохранить файлы с помощью службы Windows в Windows Server 2003 R2. Какое свойство учетной записи System System.ServiceProcess.ServiceInstaller следует использовать?
2. Есть ли какой-либо особый процесс установки, который мне нужно будет выполнить в winows server 2003 R2, чтобы разрешить устанавливаемой службе иметь разрешения на чтение и запись в каталоги?
Спасибо за любую информацию и помощь, которую вы можете предоставить.