Сообщения журнала событий расширяются, когда необработанные исключения обрабатываются ASP.NET - PullRequest
1 голос
/ 26 июня 2009

Если я выбрасываю необработанное исключение из ASP.NET, в журнал событий добавляется предупреждение (как и ожидалось).

Но если сообщение в исключении содержит%, сообщение в журнале событий искажается:

Если сообщение было

Could not find foo%20bar

журнал событий будет читать

Could not find foohttp://localhost/testpage.aspxbar

Другие числовые значения после% будут преобразованы в другие строки.

Похоже, что сообщение проходит через оператор printf где-то в пути.

Это за дизайн? Есть ли способ избежать этого (помимо обеспечения обработки исключений)?

EDIT:

Если я посмотрю на XML-представление под подробностями в журнале событий, то увижу:

<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
<System>
  <Provider Name="ASP.NET 2.0.50727.0" /> 
  <EventID Qualifiers="32768">1309</EventID> 
  <Level>3</Level> 
  <Task>3</Task> 
  <Keywords>0x80000000000000</Keywords> 
  <TimeCreated SystemTime="2009-06-26T11:10:09.000Z" /> 
  <EventRecordID>130253</EventRecordID> 
  <Channel>Application</Channel> 
  <Computer>XXX</Computer> 
  <Security /> 
</System>
<EventData>
  <Data>3005</Data> 
  <Data>An unhandled exception has occurred.</Data> 
  <Data>26-06-2009 13:10:09</Data> 
  <Data>26-06-2009 11:10:09</Data> 
  <Data>525e4e8df6ec432d9a9b9b77e9ded580</Data> 
  <Data>6</Data> 
  <Data>1</Data> 
  <Data>0</Data> 
  <Data>ecd2c9a5-1-128904882075773124</Data> 
  <Data>Full</Data> 
  <Data>/WebSite1</Data> 
  <Data>C:\Users\XXX\Documents\Visual Studio 2008\WebSites\WebSite1\</Data> 
  <Data>XXX</Data> 
  <Data /> 
  <Data>6404</Data> 
  <Data>WebDev.WebServer.EXE</Data> 
  <Data>XXX</Data> 
  <Data>Exception</Data> 
  <Data>Foo%20Bar</Data> 
  <Data>http://localhost:6594/WebSite1/Default.aspx</Data> 
  <Data>/WebSite1/Default.aspx</Data> 
  <Data>127.0.0.1</Data> 
  <Data>XXX</Data> 
  <Data>True</Data> 
  <Data>NTLM</Data> 
  <Data>XXX</Data> 
  <Data>4</Data> 
  <Data>XXX</Data> 
  <Data>False</Data> 
  <Data>at _Default.Page_Load(Object sender, EventArgs e) at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) at System.Web.UI.Control.OnLoad(EventArgs e) at System.Web.UI.Control.LoadRecursive() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)</Data> 
</EventData>
</Event>

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

1 Ответ

1 голос
/ 26 июня 2009

Если кто-то еще не знает иначе, я должен сказать, что это звучит как ошибка.

Если это так, пожалуйста, сообщите об этом на http://connect.microsoft.com/visualstudio/. Пожалуйста, сначала найдите, чтобы узнать, было ли это уже сообщено. Затем отредактируйте свой вопрос, включив в него URL-адрес отчета об ошибке. Таким образом, любой, кто читает это, может проголосовать за то, насколько важным он считает исправление этой ошибки.

...