2009-06-26 46 views
1

ASP.NETから未処理の例外がスローされた場合、予期したとおりにイベントログに警告が追加されます。未処理の例外がASP.NETによって処理されると、イベントログメッセージが展開される

しかし、例外中のメッセージは%が含まれている場合は、イベントログ内のメッセージが文字化け:

メッセージがイベントログが

Could not find foohttp://localhost/testpage.aspxbar 
その他

を読みます

Could not find foo%20bar 

だった場合%の後の数値は他の文字列に変換されます。

メッセージが途中でprintfステートメントを通過するようです。

これはデザインごとですか?これを避ける方法はありますか(例外が確実に処理されることを確認する以外に)?

編集:私はイベントログで詳細の下の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

他の誰かが分かっていない限り、私はバグのように聞こえるでしょう。

もしそうなら、http://connect.microsoft.com/visualstudio/に報告してください。最初に検索して、既に報告されているかどうかを確認してください。次に、バグレポートのURLを含めるように質問を編集します。そうすれば、誰もがこのバグを修正することがどれほど重要かを投票することができます。

+0

私はhttps://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?Feedback=470598 –

+0

に提出しました。マイクロソフトではこのバグを認め、ASP.NET 4.0の修正を約束しました。 –

+0

優秀!それはそれが動作する方法です! –

関連する問題