我已经编写了一个使用openpop邮件客户端和retreives电子邮件的Windows服务。然后它通过主题和正文更新数据库和各种东西。它还会下载附件,并根据电子邮件的时间戳在驱动器上创建一个文件夹目录,然后按年份,然后是月份,然后是一天,然后保存该映像。所以,我在开发中使用类库项目,用于调试的Winform项目和Windows服务项目在我的机器上构建了此服务。 所有的逻辑都包含在一个Classlibrary中。我建立了库并在窗体和窗口服务中引用了dll。当我在我的机器上构建服务并使用installutil进行安装时,它可以正常工作,并执行它应该执行的操作。但是当我投入生产时,操作系统是Windows Server 2003 R2,并且它为LIVE数据库使用了不同的连接字符串。Windows服务权限问题
唯一改变的是连接字符串和操作系统。我安装了服务,它安装正常,但什么也没做。它不创建文件夹或将图像保存到磁盘。我知道我应该记录错误,但这是我的第一份工作,而且我是这方面的新人。所以我试着写一些记录事件,但它不创建日志并写入事件。事实上,如果我尝试创建日志并编写一个事件,就像我在onstart子中的第一个调用一样,它不会这样做。现在我迷路了,我不确定该从哪里出发。如果您花时间阅读本文,我很感激您的任何输入。
这是我的OnStart方法中的代码。
Dim LiveEvents As New EventLog
If Not EventLog.SourceExists("MySource") Then
EventLog.CreateEventSource("MySource", "GL")
End If
LiveEvents.Source = "MySource"
LiveEvents.Log = "GL"
LiveEvents.WriteEntry("ServiceStarted and is working.", EventLogEntryType.Information)
Dim Logic As New ProcessMail
workTimer = New Timer(New TimerCallback(AddressOf Logic.ProcessMessages), Nothing, (1000 * 60 * 10), (1000 * 60 * 10))
LiveEvents.WriteEntry("Called Our DLL", EventLogEntryType.Information)
MyBase.OnStart(args)
所以,如果你不知道他们去的问题。 1.如果我需要在Windows Server 2003 R2中创建导向器并使用Windows服务保存文件。我应该使用什么系统System.ServiceProcess.ServiceInstaller帐户属性? 2.是否有任何一种特殊的设置过程,我需要在winows server 2003 R2中执行以允许我安装的服务具有读写目录权限的权限?
非常感谢您提供的任何信息和帮助。
谁在运行?本地系统或特定帐户?你想创建什么文件夹?您需要重新进入并添加一些仪器,以便您可以捕获正在发生的错误并找出其抱怨的内容。 – Joe
该服务应该作为管理员运行它的创建文件夹在C:/ images文件夹我安装。顺便说一句,如果本地系统功能最强大,我已经为每个帐户属性创建了4个版本,然后我将使用 –
SCM中为您的服务配置了哪些帐户? – Joe