是否可以将平面文件附加到Windows服务?
我的Windows服务使用很少的平面文件(用于数据)。通常,如果它是普通的可执行文件,我会将这些文件放在与exe相同的目录中。如何通过Windows服务实现这一目标?
我对此做了一些研究,但我发现的只有: 1.将这些文件的路径作为参数传递给windows-service。 2.建立一个固定的路径,只需要那些文件
但我不喜欢那些解决方案。我想知道是否可以在安装时将这些文件附加到Windows服务?
答案 0 :(得分:0)
如何将这些文件作为嵌入式资源添加到项目中?它们不会出现在磁盘上,但您仍然可以从组件内部正确读取它们。
答案 1 :(得分:0)
您可以使用Application.StartupPath
中的System.Windows.Forms
属性在运行时查找安装应用程序的目录。这适用于应用程序和服务。您应该避免硬编码您认为安装应用程序的路径,因为最终用户可能已将其安装在其他位置。您还应该避免使用当前目录(即,仅按名称打开文件,没有特定路径),因为用户可能正在使用不同的当前目录运行您的应用程序。
请注意,installutil
不会复制您的服务可执行文件。因此,该服务从安装它时所在的目录运行,并且当该服务运行时,您放在该目录中的任何文件仍应存在。