Galin Iliev's blog

Software Architecture & Development

IIS7 talk @ SofiaDev UG

I am giving a talk this Thursday in front of SofiaDev .NET User group at local Microsoft office at 18:30 local time.

In the presentation I will show:

  1. New tools in IIS7 as well as new administration options
  2. New tracing and diagnostics options
  3. New integration pipeline
  4. Deep example that:
    • use custom IIS module written in C#
    • extend IIS configuration schema
    • extend IIS Manager by adding UI component

If this sounds interesting to you and you want to attend write to branimir _ at _ sofiadev dot org

See you there!

Debugging .NET Applications in production

The title might seems strange as in 99.99% of cases we cannot afford Visual Studio in production environment. Even hardly mention this possibility could drive sysadmin crazy ;). Last moth Vladi Tchalkov gave a nice presentation on the subject on SofiaDev monthly meeting.

There is another resource on the subject - there is whole guide made by Patterns&Practice team in Microsoft -

Production Debugging for .NET Framework Applications

It could give some nice ideas how to troubleshoot issues in application in production environment.

VS 2008 and .NET Feature Specifications

Feature specifications are posted on MSDN so everyone who is interested how to write specifications or how looks like specifications inside Microsoft can take a look at Feature Specifications for Visual Studio 2008 and .NET Framework 3.5 in MSDN. All documents are in XPS format.

Technology Area

Feature Specification

Developer Tools Plaform

Command Bar Improvements

MSO File Dialog Removal

File Tab Channel Improvements

IDE Navigator

MSBuild Multi-Targeting

Object Browser Support for New Language Features

Segoe UI Font Support

Tool Window Docking Targets

Tool Window Frames and Tabs

VS Color Service and VS Gradient Service: Vista Palette Addition

Windows Framework Support in Object Browser and Find Symbol

Menu Improvements

Splash Screen Improvements

Pseudo Multi-targetting

Updated Branding

Visual Studio Proxy Service

Visual Studio Settings Migration

Visual Studio for Devices

eVC: VS2005 Migration

Visual C++

Friend Templates


.NET Framework Multitargeting in Visual C++

Versioning of Visual C++ Libraries


Dialog Templates

File Dialogs

Marshaling Library

MFC Support for Common Controls

Scope Reduction in VC Libraries

UAC for VC

Vista Common Controls

Network Class Libraries

Internationalized Resource Identifier Functional Specification


VSTO & VSTA Project Upgrade


Dynamic Programming Model

Office Workflow Tools


Uninstall Wizard UI

UI Frameworks


Partial Page Rendering

Visual C#

Mapping Format


.NET Compact Framework

Microsoft.WindowsCE.Forms.SystemSettings Extensions

Team Architect

Support for Web Application Projects

Architectural Roles

Enterprise Developer

ASP.NET AJAX: Debugging Breakpoint Mapping

ASP.NET AJAX: Script Explorer in Solution Explorer

VS 2008 and .NET 3.5 are RELEASED !!!

I've just read ScottGu's blog post  (from an hour ago) where he announces that Visual Studio 2008 and .NET 3.5 Released  as well as many many links for info about new IDE version.

You can download (90-days free trial edition) of:

I guess MS bandwidth will be filled in next days ;)

Using LINQ to Objects in .NET 2.0 projects

If you've played with C# 3.0 and LINQ you might feel bored with good old .NET 2.0 projects. But wait! There is a way to use LINQ to Objects in .NET 2.0 projects. LINQBridge makes this possible. But how?

First, it's important to understand that C# 3.0 and Framework 3.5 are designed to work with CLR 2.0-the same CLR version that Framework 2.0 uses. This means that the C# 3.0 compiler emits IL code that runs on the same virtual machine as before.

This makes Framework 3.5 additive-just as Framework 3.0 was additive-comprising additional assemblies that enhance the existing 2.0 Framework and CLR. So there's nothing to stop us from writing our own assemblies that do the work of Framework 3.5 (at least, the critical bits required for local LINQ queries).

Can I use LINQBridge with C# 2.0 and Studio 2005?

You can-but the query operators will be awkward to use without lambda expressions, extension methods, query syntax, etc.

More info you can find at LINQBridge official page as well as source code. Thanks to Joe Albahari!

MIXUK 07 Sessions

MIXUK 07 recorded sessions are made public - you can see them at 

Note: At Day 2 there are two sessions of ScottG that cannot be missed if you want to catch up with all fancy stuff that coming in VS 2008

And of course the videos are streamed through Sivlerlight video player... Did you expected somethig else :) And very conviniently you can download them in .zip format for offline view

1st and 2nd chance exceptions

On last Sofia.NET UG meeting were discussed also first and second chance exceptions which was new to me. Here is what MS Knowledge Base says on the subject:

"When an exception is raised, the handler may correct or ignore the condition rather than allow a failure to propagate up through intervening layers. This is very useful in complex environments such as networks where partial failures are expected and it is not desirable to fail an entire operation just because one of several optional parts failed. In this case, the exception can be handled so that the application does not recognize that an exception has occurred.

However, if the application is being debugged, the debugger sees all exceptions before the program does. This is the distinction between the first and second chance exception: the debugger gets the first chance to see the exception (hence the name). If the debugger allows the program execution to continue and does not handle the exception, the program will see the exception as usual. If the program does not handle the exception, the debugger gets a second chance to see the exception. In this latter case, the program normally would crash if the debugger were not present."