gpt4 book ai didi

c# - 错误 1054 - 服务未及时响应 - C# 应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 11:30:52 24 4
gpt4 key购买 nike

我在安装服务应用程序时遇到问题。当我运行我的 Debug模式时,它一切正常并且所有逻辑都正常工作。我以前写过服务应用程序,比较这两个应用程序,这个和工作的应用程序之间几乎没有区别。预先感谢对我的代码的任何帮助:

 class MainClass : ServiceBase
{
ABCSQLCon _SQLCon = new ABCSQLCon();
private int cycleTime = 0;

private delegate void processError(String errorMessage);

static void Main(string[] args)
{
#if(!DEBUG)
ServiceBase.Run(new MainClass());
#else
MainClass service = new MainClass();
service.OnStart(new string[0]);
#endif
}

protected override void OnStart(string[] args)
{
addToLog("Testing SQL Connection...", "Log");
cycleTime = _SQLCon.sleepTime;
addToLog("Sleep Time has been set...", "Log");
if (_SQLCon.testSQLConnection())
{
addToLog("Connection to SQL Database succeeded", "Log");
// queryThread();

//not neccessary to make applicated multithreaded yet.
addToLog("Starting Query Thread...", "Log");
ThreadStart queryCycle = new ThreadStart(queryThread);
Thread qThread = new Thread(queryCycle);
qThread.Start();
}
}

private void startProgram()
{
}

protected override void OnStop()
{
base.OnStop();
}

public MainClass()
{
this.ServiceName = "ABCSQL Engine";
}

啊,我现在发现了问题,sql 连接测试只是一个快速打开和关闭的工作,但我没有看到或意识到我正在初始化 _SQLCON 对象的地方。我已经将它移到我的方法中并且现在工作正常。快乐的日子,感谢您的回答,因为它帮助我找到了我没有看的地方。 X

最佳答案

最佳做法是调用与服务线程不同的线程上的方法以避免阻塞服务线程

public void MyMethod()
{
addToLog("Testing SQL Connection...", "Log");
cycleTime = _SQLCon.sleepTime;
addToLog("Sleep Time has been set...", "Log");
if (_SQLCon.testSQLConnection())
{
addToLog("Connection to SQL Database succeeded", "Log");
// queryThread();

//not neccessary to make applicated multithreaded yet.
addToLog("Starting Query Thread...", "Log");
ThreadStart queryCycle = new ThreadStart(queryThread);
Thread qThread = new Thread(queryCycle);
qThread.Start();
}

}

private Thread _myThread;
protected override void OnStart(string[] args)
{
ThreadStart threadStart = MyMethod;
_myThread = new Thread(threadStart);
_myThread.Start();
}

关于c# - 错误 1054 - 服务未及时响应 - C# 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7834282/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com