如何在c#4.0服务类中使用Invoke

时间:2012-04-14 12:37:21

标签: c# winforms .net-4.0 windows-services invoke

我有一个winforms应用程序,它使用套接字读取字符串,套接字在backgroundWorker线程下。

事情进展顺利,但根据新的公司标准,我的经理希望将其作为服务运行,而不是将此winforms应用程序始终放在启动文件夹中。

问题是我们在这个winforms应用程序中使用下面的代码行

Invoke(new MethodInvoker(
                  delegate { _logger.Error((String.Format("Error: {0}", _socketError))); }
                  ));

有人可以指导我在windowserverice项目中使用上面的代码行吗

请建议

由于

更新:我需要使用invoke,因为此语句在backgroundWorker组件的DoWork事件中运行。

1 个答案:

答案 0 :(得分:3)

由于_logger只是写入日志文件,因此我不了解首先使用Invoke背后的初衷。我认为用以下方式替换该行是安全的:

_logger.Error(String.Format("Error: {0}", _socketError));