Web服务中的方法的访问被拒绝错误

时间:2011-07-06 09:10:36

标签: wcf web-services visual-studio-2008

我有一个完全可以从localhost运行的web服务,但是当我在测试服务器上托管它时,我得到了其中一个方法的错误。我正在使用wsHttp绑定。除了这个方法之外,其他一切在客户端都能正常工作。这是我得到的错误

客户端错误:

System.ServiceModel.Security.SecurityAccessDeniedException: Access is denied.

Server stack trace: 
   at System.ServiceModel.Channels.ServiceChannel.ThrowIfFaultUnderstood(Message reply, MessageFault fault, String action, MessageVersion version, FaultConverter faultConverter)
   at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
   at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

服务器错误:

namespace.Service Error: 10001 : Error occurred in methodname(). 
 System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.
   at System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly)
   at System.Diagnostics.EventLog.SourceExists(String source, String machineName)
   at System.Diagnostics.EventLog.VerifyAndCreateSource(String sourceName, String currentMachineName)
   at System.Diagnostics.EventLog.WriteEvent(EventInstance instance, Byte[] data, Object[] values)
   at System.Diagnostics.EventLog.WriteEvent(EventInstance instance, Object[] values)
   at System.Diagnostics.EventLogTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType severity, Int32 id, String format, Object[] args)
   at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String format, Object[] args)
   at AutoWatch.Entity.WcfService.TrackingService.UpdateIncidentStatusHistory(Int64 incidentId, String status, String username, String comment, Boolean SuspectFaultyUnit) in C:\..servicename.cs:line 566
   at AutoWatch.Entity.WcfService.TrackingService.GetNewIncidentMessage(String username) in C:\..servicename.cs:line 444

失败的程序集区域是: 我的电脑

我在服务器上收到的错误中添加了。 我是否有可能收到此错误,因为该服务无法写入事件日志?

请帮忙。

1 个答案:

答案 0 :(得分:2)

确保运行托管服务的进程的帐户具有对数据库的访问权限。例如,在IIS的情况下,运行托管服务的应用程序池的帐户必须登录到数据库服务器,并且它必须具有在数据库中执行所有必要操作的权限。

编辑:

服务器堆栈跟踪看起来非常简单。写入Windows事件日志时遇到问题!它无法找到您请求的来源,也无权创建它。