C# Windows服务是否能显示控制台?如何显示Console.write打印出来的内容?
一般C#服务安装部署以后,只能在后台中运行
public string path = "";
public System.Timers.Timer time = new System.Timers.Timer(60000);//1分钟=60000毫秒 1天=86400000
public string logPath = "";
public void getPath()
{
IniFile iniFile = new IniFile(@".\Path.ini");
logPath = iniFile.IniReadValue("Path", "LogPath");
path = iniFile.IniReadValue("Path", "DataPath");
if (logPath == "" || path == "")
throw new Exception("路径没有获取成功,请到服务目录下Path.ini中配置");
Console.WriteLine("LogPath:" + logPath);
Console.WriteLine("DataPath:" + path);
}
public Service1()
{
InitializeComponent();
getPath();
}
想看到控制台
先说结论,不能
你已经知道了服务在后台运行,它就不会有前台的对话框
但是你可以采用迂回的办法
比如写日志
或者再写个窗体程序跟服务通信,显示当前状态
甚至可以把要print的内容先缓存进list里,然后窗体程序通信的时候通过upd之类的协议发送过来显示
-=-=-=
或者简单一点
你无非就是想调试而已
那么调试的时候直接运行,让它打印
调试好了再注册成服务启动
可以试下手动启动一个控制台进程 把错误信息放进去