无法运行Windows服务 [英] Unable to run windows service
本文介绍了无法运行Windows服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在编写服务以从模拟器中读取数据值。当我尝试调试我的服务时,我收到以下异常ActiveX控件无法实例化,因为当前线程不在单线程公寓中。非常感谢这方面的任何帮助。
My服务代码是
I am writing the service to read data values from simulator. When i try to debug my service I am receiving following exception "ActiveX Control cannot be instantiated because the current thread is not in a single threaded apartment".Any help in this regard is very much appreciated.
My service code is
<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()
{
}
我尝试过:
我已经尝试完全调试并重新安装设置文件。
What I have tried:
I have tried debugging and reinstalling setup file completely.
推荐答案
您是否尝试将方法标记为:
have you tried tagging your method as:
[ComRegisterFunction]
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();
}
这篇关于无法运行Windows服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文