Windows Service 权限涉及到的问题

重构服务器的时候,各功能服务器统一了日志记录方式,无论是短信服务器(C#)还是彩信服务器(JAVA)均调用一个delphi写的win32 的dll  LogWriter.dll。
LogWriter有2个作用:
1:在当前目录下生成Log文件夹,并按一定格式生成日志文件。
2:创建/访问一个块特定的Filemap区,实时写入日志记录。
注:Filemap 指windows的内存文件映射。
查看日志使用一个LogViewer.exe 自主软件,2种方式查看日志:
1:“运行”状态下实时查看,Logviewer 实时访问Filemap区域,读取各个服务器实时写入的记录(可根据条件过滤服务器类型 日志类别 日志级别等)。
2:“停止”状态下可以打开在各服务器目录下的Log文件夹下的日志文件。

在短信服务器改为Windows Service 方式时,调用了上述的LogWriter.dll 记录日志。测试中发现,LogWriter 可以向当前目录下创建Log文件夹并生成日志文件,但不能向FileMap写实时日志记录,LogViewer 不能读取到实时日志文件,跟踪了一下程序发现,LogWriter 在向Filemap中写入实时日志文件时,发生了没有权限的异常。
分析原因后发现,部署短信服务为Windows Service 时,其登陆为“LocalService”,Local Service 帐户对于资源和对象的访问级别与 Users 组的成员相同。后将ServiceProcessInstaller.Account 更新为Local System后,问题解决。
有关服务权限详细内容,可查看微软帮助:
http://technet2.microsoft.com/WindowsServer/zh-CHS/Library/a958b9d2-3ec1-4ab0-9f9f-7cb396605f3e2052.mspx?mfr=true

C#添加服务的安装程序时,默认使用的登陆帐户为:LocalServer,启动方式为manual,如服务器需要特定访问权限和启动方式,均须修改。
无他,介绍一下日志记录和查看的解决方案,排除了一个错误。

posted on 2007-11-10 10:29 九片 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/Gshadows/archive/2007/11/10/954936.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值