Plunging into .NET Development

Weblog Pieter Gheysens
Microsoft .NET Development - C# - Enterprise Library - Visual Studio 2005 Team System - Compuware DevPartner - ...

Saturday, October 28

.NET Remoting - executionTimeout

Recently we've experienced time-out problems with remote calls (.NET Remoting - http channel / binary formatter). On our remoting website in IIS we've set a time-out of 180 seconds, while after approximately 90 seconds we received the usual System.Runtime.Serialization.SerializationException for server-calls which take more than 90 seconds to execute.
Using a binary formatter with an HTTP channel during development has the undesirable side effect of masking server-side errors. For example, a general server error or an access violation will both be misreported to the client. This is due to the fact that when using a binary formatter the client-side Remoting component expects a message to be returned in binary format. Plain-text error results are not interpreted correctly and are reported as follows:

An unhandled exception of type 'System.Runtime.Serialization. SerializationException' occurred in mscorlib.dll. Additional information: BinaryFormatter Version incompatibility. Expected Version 1.0. Received Version 1008738336.1684104552.
We were pretty sure that some time-out setting was causing this exception because the timing was each time around 90 seconds after the start of the remote call, but we didn't know where we had to look for it. We thought that the time-out on the server (in IIS) was the only setting we could control for remote calls, but apparently there's also a default setting in the machine.config for an executionTimeout on the httpRuntime element. This executionTimeout specifies the maximum number of seconds that a request is allowed to execute before being automatically shut down by ASP.NET. This time-out applies only if the debug attribute in the compilation element is False. In .NET 2.0 the default is 110 seconds, while the default in .NET 1.0 and 1.1 is 90 seconds. A simple change in our web.config (executionTimeout="180") to override this setting and our problem was solved. The call could finish in time without an exception thrown at the client.

Links :

Friday, October 27

VISUG : Security Development Lifecycle

Wednesday-evening Wim Verhaeghen gave a presentation for the VISUG about the Security Development Lifecycle (SDL). Wim convinced the attendees that security is really not a minor issue anymore in software development. The SDL involves modifying a software development organization's processes by integrating measures that lead to improved software security. Security measures can't be taken anymore after a completion of a development project. All security requirements must be considered from the ground up. Good job Wim. You gave everyone some important stuff to think about!

Thursday, October 12

Need for new backup-plan

Tuesday we had unwanted visitors in our flat during daytime. When we arrived home from work (yes, normal people work for their money and don't go out for a robbing spree), we found out that our apartment was a target of an organized burglary in the city. Many things like jewels, clothes, electronics and last but not least my laptop were stolen. That morning I unfortunately didn't take my laptop to work because I have a desktop computer at my disposal for my job at the client.

I keep my laptop always close to the laptop-bag where the extra stuff is in : power cable, cordless mouse, paperwork, USB harddrive, ... The USB harddrive is primarily used for taking backups once in a while and for transferring data to other computers. It must have been more than a month that my last backup was taken, but I was still very lucky (can I use the word lucky in this context?) that they left the bag - including my USB harddisk - in my apartment.

Why do people take backups most of the time? Because of the chance of disk-failures, not to foresee a possible burglary I would think! All my backup-work would have been worthless if they had also stolen my USB harddrive. All this let's me think about a new backup-plan for the future! It would be a better idea to keep my backups in a complete other physical location than my laptop. Also in case of a fire, you would lose it all if those things were kept together. What about online storage? Is that a solution for storing your backups? Anyone some ideas about a secure backup-plan?

I mustn't tell you that it's really frustrating to lose a lot of important data/work. My article for .NET Magazine that was under construction is gone, presentations I was preparing, some important emails, personal stuff, ... I don't want to see that happen again! This week-end I will start re-installing my new laptop, but that will be only phase 1 of my re-work!

Friday, October 6

Windows Workflow Foundation

Yesterday I went to the VISUG presentation of Kurt Claeys about Windows Workflow Foundation. After the overview I've got at last MSDN event, this was the perfect continuation! I had the impression that everyone enjoyed the presentation. Excellent stuff Kurt and nice demos! All resources used in his presentation will soon be uploaded to the VISUG website. Kurt's article State Machine Workflows in Windows Workflow Foundation was also recently published on the Belgian MSDN website.

Monday, October 2

New challenge

As from today, my former colleague and good friend Steven Wilssens will start to work for Microsoft as a full-time employee. I wish him all the luck in his role as a Program Manager. It was a tough decision for him to move from Belgium to the United States and he certainly was getting nervous at the end, but I'm sure that he has made the right decision and that he will live up to the expectations at Microsoft! He promised me also to blog about his experiences there, so don't forget to subscribe to his blog if you want to know more about (his) life at Microsoft ...

Update : 2 articles (in Dutch) were published about Steven Wilssens in Data News ...