Следующее исключение было выдано поставщиком веб-событий «EventLogProvider»

Я не могу заставить новое приложение ASP.NET 4.0 работать на IIS 7 в Windows 2008 R2. Все, что я вижу в своем журнале событий, это ошибка ниже. Я не могу найти никакой информации о том, что это значит, кто-нибудь может помочь?

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>

person Sam    schedule 28.11.2011    source источник


Ответы (1)


Это связано с тем, что ваш код пытается записать в журнал событий, но пользователь, от имени которого работает пул приложений, не имеет таких полномочий.

Вам нужно будет изменить пул приложений, чтобы он работал от имени другого пользователя, или чтобы ваш веб-сайт выдавал себя за известного пользователя, если вы не можете изменить идентификатор пула приложений.

person competent_tech    schedule 28.11.2011
comment
Спасибо Competent_Tech. Это было именно так. - person Sam; 28.11.2011
comment
пожалуйста объясните подробнее.... - person J R B; 23.02.2015