关于ErrorEvent写入的服务器权限问题

Franciswink 2010-12-20 09:38:56
首先,我做了一个非常简单的WCF程序,没有数据合同,只有一个OperationContract。

在对异常的处理上,我使用try catch catch到的异常信息被写入到系统日志事件中。

日志的写入方法就是最常用的那种

代码如下:


public class ErrorLog
{
public static void WriteInErrorLog(string Sourcename, string message)
{
EventLog eventlog = null;
//确认日志是否存在
if (!(EventLog.SourceExists(Sourcename)))
{
EventLog.CreateEventSource(Sourcename, Sourcename + "log");
}
if (eventlog == null)
{
eventlog = new EventLog(Sourcename + "log");
eventlog.Source = Sourcename;
}
//写入日志
eventlog.WriteEntry(message, EventLogEntryType.Error);
}
}


这段代码是我写在别的工程中的,然后生成为.dll,WCF对其调用的。

随后我将WCF发布到了IIS上,

编译都没有问题。

运行,执行我的方法时出现异常,在异常写入系统日志时时 又出现异常

异常信息为:

The source was not found, but some or all event logs could not be searched. Inaccessible logs: Security.

异常代码为:

 if (!(EventLog.SourceExists(Sourcename)))


这是一个关于权限的问题,大概意思是说我没有权限写入日志,

但是之前我用类似的方法做过一个WebService,就没有出现这种异常,

在网上查了下,资料也不多,

我开始以为可能是调用的.dll不行,需要让Errolog文件和WCF在一个目录下,然后我就转移了文件,可是不好用,

后来干脆在WCF工程中加入了一个.cs,作为Errolog但是还是不可以。

希望各位给出帮助和指点,非常感谢

...全文
192 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Franciswink 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 chen_ya_ping 的回复:]
引用 5 楼 franciswink 的回复:

引用 4 楼 chen_ya_ping 的回复:
引用 2 楼 franciswink 的回复:

引用 1 楼 chen_ya_ping 的回复:
一定要写到系统的日记中吗?可以考虑换个地方写日记吗?比如自己新建一个数据表什么的


这个应该可以吧,但是我想去解决问题,而不是回避问题,毕竟之前WebService没出过错,说明这……
[/Quote]

分配好了,我看过网上的资料,有个国外的, 他也是这个问题,虽然提示的是权限,但是他最后找到的原因是连接字符处的问题的。。我就看蒙了。。。
chen_ya_ping 2010-12-27
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 franciswink 的回复:]

引用 4 楼 chen_ya_ping 的回复:
引用 2 楼 franciswink 的回复:

引用 1 楼 chen_ya_ping 的回复:
一定要写到系统的日记中吗?可以考虑换个地方写日记吗?比如自己新建一个数据表什么的


这个应该可以吧,但是我想去解决问题,而不是回避问题,毕竟之前WebService没出过错,说明这个方法是可行的....

那如果你买的空间服务器……
[/Quote]
是不是你的权限的问题没有分配好。
Franciswink 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 chen_ya_ping 的回复:]
引用 2 楼 franciswink 的回复:

引用 1 楼 chen_ya_ping 的回复:
一定要写到系统的日记中吗?可以考虑换个地方写日记吗?比如自己新建一个数据表什么的


这个应该可以吧,但是我想去解决问题,而不是回避问题,毕竟之前WebService没出过错,说明这个方法是可行的....

那如果你买的空间服务器上就不同意开这个权限,那你怎么办?
[/Quote]

我的是公司自己的服务器。。

还有就是 网上有人做了 将错误信息输出到文件,貌似也不行。
chen_ya_ping 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 franciswink 的回复:]

引用 1 楼 chen_ya_ping 的回复:
一定要写到系统的日记中吗?可以考虑换个地方写日记吗?比如自己新建一个数据表什么的


这个应该可以吧,但是我想去解决问题,而不是回避问题,毕竟之前WebService没出过错,说明这个方法是可行的....
[/Quote]
那如果你买的空间服务器上就不同意开这个权限,那你怎么办?
Franciswink 2010-12-20
  • 打赏
  • 举报
回复
求技术帝!
Franciswink 2010-12-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chen_ya_ping 的回复:]
一定要写到系统的日记中吗?可以考虑换个地方写日记吗?比如自己新建一个数据表什么的
[/Quote]

这个应该可以吧,但是我想去解决问题,而不是回避问题,毕竟之前WebService没出过错,说明这个方法是可行的....
chen_ya_ping 2010-12-20
  • 打赏
  • 举报
回复
一定要写到系统的日记中吗?可以考虑换个地方写日记吗?比如自己新建一个数据表什么的

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧