.net 如何在事件查看器中获取服务
我创建了一个windows服务。安装服务后,我启动了服务。但是我没有得到我的服务的事件日志 我使用了以下代码.net 如何在事件查看器中获取服务,.net,windows-services,.net,Windows Services,我创建了一个windows服务。安装服务后,我启动了服务。但是我没有得到我的服务的事件日志 我使用了以下代码 public partial class Service1 : ServiceBase { public Service1() { InitializeComponent(); this.ServiceName = ConfigurationManager.AppSettings.Get("ServiceName"); st
public partial class Service1 : ServiceBase
{
public Service1()
{
InitializeComponent();
this.ServiceName = ConfigurationManager.AppSettings.Get("ServiceName");
string sourceName = ConfigurationManager.AppSettings["Source"];
string logName = ConfigurationManager.AppSettings["Log"];
if (!System.Diagnostics.EventLog.SourceExists(sourceName))
System.Diagnostics.EventLog.CreateEventSource(sourceName, logName);
eventLog.Source = sourceName;
eventLog.Log = logName;
}
protected override void OnStart(string[] args)
{
eventLog.WriteEntry("Service Starting...");
}
protected override void OnStop()
{
eventLog.WriteEntry("Service Stopped...");
}
}
我在event viewwe中检查了这个,我没有得到我的服务名称
如何得到这个
谢谢,
Pooja最可能的原因是服务用户没有足够的权限创建事件源 您需要将try/catch处理程序添加到构造函数中,以确定是否存在这种情况 您还可以尝试以本地管理员用户的身份运行该服务,这将导致创建事件源 由于这个原因,我们总是在安装期间创建事件源,并要求管理员用户运行安装 我们使用的另一个选项是,当我们在创建事件源时遇到安全异常时,优雅地降级为使用应用程序事件日志:
try {
if (!System.Diagnostics.EventLog.SourceExists(sourceName))
System.Diagnostics.EventLog.CreateEventSource(sourceName, logName);
} catch (SecurityException e) {
sourceName = "Application";
}
eventLog.Source = sourceName;
谢谢你的回复。如何检查我是否有管理权限,如何获得此权限。请查看此MSDN文档。答案因您的操作系统而异: