好吧,我已经创建了一个新的Windows服务并从Visual Studio安装。
安装完成后,如何启动服务?
我需要一些可以让我开始这个过程的东西,或者一个exe ......某些东西?
安装程序是:Visual Studio Installer - 安装项目。
任何帮助?
我的问题依次为:
为什么服务无法启动?
我怎样才能控制intall之后发生的事情?它的代码在哪里?
谢谢!
答案 0 :(得分:9)
即使您将启动类型设置为自动,它也不会自动启动您的服务,直到机器重新启动。您可以做的是为服务安装程序类的AfterInstall事件创建事件处理程序,并使用ServiceController
Start
方法启动服务,如下所示
public serviceInstaller()
{
this.AfterInstall += new InstallEventHandler(serviceInstaller_AfterInstall);
}
void serviceInstaller_AfterInstall(object sender, InstallEventArgs e)
{
ServiceController sc = new ServiceController(serviceInstaller.ServiceName);
sc.Start();
}
您也可以使用visual studio事件窗口创建活动。
答案 1 :(得分:5)
要启动您的服务,您可以执行以下命令:
net start YourServiceName
或转到控制面板 - >管理工具 - >服务并选择您的服务,然后单击开始。
上面的完整路径还取决于您的实际Windows版本。
即使您没有使用任何日志记录,一般服务失败也会记录在Windows事件日志中,因此请打开事件查看器并查看最新事件。
答案 2 :(得分:0)
在ServiceInstaller类属性中将启动类型设置为自动(您可以在Designer文件中执行此操作)。
答案 3 :(得分:0)
需要安装Windows服务(它应该告诉您如果尝试调试它该怎么做),然后在服务器管理器中启动。然后你可以附上它。
调试它们有点痛苦,TBH。
答案 4 :(得分:0)
该服务有何功能?是打开SQL连接? 找文件? 在您尝试启动服务后,检查您的事件查看器安装服务的位置是否存在错误,这将使我们更好地理解。
答案 5 :(得分:0)
除非您有兴趣使其易于理解,否则无法理解您的问题。
然而,根据我的假设,
转到Visual Studio Tools => Visual Studio命令提示符 使用命令net start<>
如果启动服务失败,请检查事件日志(运行对话框中的eventvwr.msc)以查看是否记录了任何相关错误。
答案 6 :(得分:0)
您的Windows服务在某些系统中运行。 如果您遇到某些系统获取错误,请在安装后手动/自动启动Windows服务。
如果服务启动和停止,则意味着您的代码抛出了未处理的异常。这很难调试,但有一些选择。
通常你可以通过转到计算机/服务器管理器,然后单击事件查看器 - >来实现此目的。 Windows日志 - >应用。您可以在这里查看引发异常的内容,这可能有所帮助,但您无法获得堆栈跟踪。 Event Viewer Log Image
在服务启动方法中添加try / catch块。
让您检查是否使用任何热门代码(例如:" D:\")。该驱动器在已安装的系统中不可用。
这将有很大帮助!