Thursday, May 24, 2007


ASP/ASP.NET Response.AppendToLog() max size limit

Response.AppendToLog() is a great way to log short information with web requests in the IIS log in the "cs-uri-query" field. It makes traffic analysis and troubleshooting a lot simpler as it is possible to enrich the log with information that is not passed in the query string. You can for example log data from the users session:

Response.AppendToLog("&userid=" + Request.Session[userID])

Best of all:

  • The log is written automatically by IIS asynchronously

  • IIS takes care of rolling over the file by hour/day etc

  • The data is logged as part of the request in the IIS log exactly where you need it so you do not have to “join“ data from multiple logs

The documentation I found on the internet claimed that it is only possible to append 80 characters. This is no longer true in IIS 6 where it is possible to append data until the field is 4kb (4096 bytes)

The IIS log system has, in my opinion, one bug. If the total length of the cs-uri-query field exceeds 4kb, IIS drops all the data in the cs-uri-query field and only logs "…". I expect it to log 4093 bytes of data from the log plus a trailing "…"


Community Days 2007 Milano: 21/6-22/6

Community Days 2007 Milano is an initiative by several Italian communities;,, Visual Basic Tips&Tricks and The event is not free like it was last year, but the agenda looks interesting enough to be work the cost (120 euro for one day, 180 for both days).

Thursday 21 June

Web Track

  • ASP07-301 - IIS 7.0 vs. ASP.NET

  • ASP07-302 - Client-side AJAX in ASP.NET

  • ASP07-303 - ASP.NET: Advanced AJAX

  • ASP07-304 - ASP.NET: implementare ModelViewPresenter mediante la Microsoft Web Client Software Factory

  • ASP07-305 - Extending ASP.NET

Extreme track

  • EXT07-301 - Gestire la codebase con Team Foundation Server

  • EXT07-302 - Sviluppo e debug di UDF con SQLCLR e VS2005

  • EXT07-303 - BizTalk vs. servizi WCF

  • (to be announced)

  • EXT07-305 - XPS: usare XAML per creare documenti

Friday 22 June

Track WinFX

  • WFX07-301 - WPF: da Visual Studio a Expression Blend, e ritorno

  • WFX07-302 - Data binding con WPF

  • WFX07-303 - Windows Presentation Foundation 101

  • WFX07-304 - Windows Communication Foundation 101

  • WFX07-305 - Introduzione a CardSpace

Track Orcas

  • ORC07-301 - Introduzione a LINQ

  • ORC07-302 - .NET Compact Framework 3 (Orcas Edition)

  • ORC07-303 - LINQ vs. Nhibernate

  • ASP.NET 3 (Orcas Edition) Overview

  • ORC07-305 - Client-side web: Microsof Silverlight (a.k.a. WPF/E)

I learned several new things during the Community Days 2006 so I will probably go this year as well.

Wednesday, May 23, 2007


poToday 2.0

My free Outlook tasks manager for the Pocket PC is available for download from the poToday home page.

Changes in .NET 2.0 version:

  • The menus have been changed to better take advantage of the application buttons in Windows Mobile 5.0.
  • Added menu for moving between days, sorting. One of the things I really like with the new menus is that it allows me to do everything with the menus and hardware buttons. No need to take out the stylus.
  • The application is a lot smaller as it no longer requires and external DLL for talking to Pocket Outlook. This MSDN article has a step by step guide for using COM objects with .NET CF 2.0.

This post explains how to work around a .NET CF 2.0 Pocket Outlook DueDate problem I found while implementing poToday 2.0

Note: adjusting the DueDate is only needed when setting the DueDate via code. Filtering on the DueDate works fine without adjusting it...