The following exception was thrown by the web event provider 'EventLogProvider' [closed]

雨燕双飞 提交于 2019-12-10 14:53:29

问题


I can't get a new ASP.NET 4.0 application to work on IIS 7, in Windows 2008 R2. All I can see in my event log is the below error. I can't seem to find any information about what it means, can anybody help?

Log Name:      Application
Source:        ASP.NET 4.0.30319.0
Date:          11/27/2011 4:22:13 PM
Event ID:      1301
Task Category: Web Event
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      [myserver].[mydomain].com
Description:
The following exception was thrown by the web event provider 'EventLogProvider' in the application '/[myapp]' (in an application lifetime a maximum of one exception will be logged per provider instance):

System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
   at System.Security.Principal.WindowsIdentity.get_AuthenticationType()
   at System.Web.Management.EventLogWebEventProvider.AddWebRequestInformationDataFields(ArrayList dataFields, WebRequestInformation reqInfo)
   at System.Web.Management.EventLogWebEventProvider.ProcessEvent(WebBaseEvent eventRaised)
   at System.Web.Management.WebBaseEvent.RaiseInternal(WebBaseEvent eventRaised, ArrayList firingRuleInfos, Int32 index0, Int32 index1)
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="ASP.NET 4.0.30319.0" />
    <EventID Qualifiers="49152">1301</EventID>
    <Level>2</Level>
    <Task>3</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2011-11-27T21:22:13.000000000Z" />
    <EventRecordID>1357</EventRecordID>
    <Channel>Application</Channel>
    <Computer>[myserver].[mydomain].com</Computer>
    <Security />
  </System>
  <EventData>
    <Data>EventLogProvider</Data>
    <Data>/[MyApp]</Data>
    <Data>System.UnauthorizedAccessException: Attempted to perform an unauthorized operation.
   at System.Security.Principal.WindowsIdentity.get_AuthenticationType()
   at System.Web.Management.EventLogWebEventProvider.AddWebRequestInformationDataFields(ArrayList dataFields, WebRequestInformation reqInfo)
   at System.Web.Management.EventLogWebEventProvider.ProcessEvent(WebBaseEvent eventRaised)
   at System.Web.Management.WebBaseEvent.RaiseInternal(WebBaseEvent eventRaised, ArrayList firingRuleInfos, Int32 index0, Int32 index1)</Data>
  </EventData>
</Event>

回答1:


This is because your code is attempting to write to the event log, but the user that the application pool is running as does not have this authority.

You will need to change the application pool to run as a different user or have your website impersonate a well-known user if you cannot change the app pool identity.



来源:https://stackoverflow.com/questions/8290791/the-following-exception-was-thrown-by-the-web-event-provider-eventlogprovider

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!