Не удается запустить службу windows
Я пишу сервис для чтения значений данных из симулятора. Когда я пытаюсь отладить свою службу, я получаю следующее исключение: "элемент управления ActiveX не может быть создан, потому что текущий поток не находится в однопоточной квартире".Любая помощь в этом отношении очень ценится.
Мой служебный код
<pre>public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { this.read(); } public void read() { String sFilepath = @"C:\Users\admin\Desktop\TestService Projects\DATA\Read.txt"; System.IO.StreamWriter oStreamWriter = new System.IO.StreamWriter(sFilepath, true); Connection con = new Connection(); string[] result= con.read(4, Connection.baudrate.B19200, Connection.Parity.E, Connection.Databit.EIGHT, Connection.Stopbit.ONE, Connection.RegisterType.HoldingRegister, "1", 10); for(int i=0;i<result.Length;i++) { oStreamWriter.WriteLine(result[i]); } oStreamWriter.Close(); } protected override void OnStop() { }
Что я уже пробовал:
Я попробовал полностью отладить и переустановить установочный файл.
Suvabrata Roy
Пожалуйста, поделитесь служебным кодом.
Member 11790928
@suvabrata Roy я вызываю dll-файл в своей службе, который inturn вызывает форму windows для установки параметров
Suvabrata Roy
Пожалуйста, опубликуйте полный код, я не смог найти никакой активной зависимости X в вашем текущем блоке кода
Bernhard Hiller
"ActiveX Control" - правда? Служба не должна содержать никаких элементов пользовательского интерфейса. Хорошо, там могут быть элементы управления ActiveX, не содержащие элементов пользовательского интерфейса, но я думаю ...
Member 11790928
Я вызываю dll файл в моей службе который inturn вызывает форму windows для установки параметров
Jochen Arndt
Бернхард сказал: "сервис не должен содержать никаких элементов пользовательского интерфейса".
Форма windows - это пользовательский интерфейс (User Interface).
Если вам нужна какая-то конфигурация для вашей службы, вы должны предоставить дополнительное приложение установки, которое хранит конфигурацию и перезапускает службу.
Сама служба должна загрузить конфигурацию при запуске. Опционально он также может перезагрузить его по сигналу.
Member 11790928
Как настроить внутренний сервис
Jochen Arndt
Вы не можете использовать элементы графического интерфейса!
Сохраните конфигурацию в конфигурационном файле или реестре.
Прочтите это при запуске службы.
Напишите приложение для чтения, изменения и хранения конфигурации.