What is a “Predicate delegate” – bytes

Thinking in terms of Delegates was always a bit of a challenge to me. So when I hit the Predicate parameter when trying to using a List<X>.FindAll(XType y).

The example given in discussion on this article went a long way to clearing this up. If I get more answers like this from Bytes I might start using this as my secondary source of programming answers after StackOverflow.

Customising the debug and run an ASP.NET MVC Application

I tend to use F5 to debug my code, my two teammates have a preference to have the codebase as a virtual directory in IIS and make changes to their code in Visual Studio and then reload the page in a browser to analyse the returned results.

Which is the better technique? Certainly my co-workers had a  point that by running using Cassini instead of IIS I was opening up myself to bugs popping up when the application was deployed to a real IIS box on testing and some IIS-specific behavior arose.

But why must I hassle myself with attaching IIS to the W3wp.exe process every time I want to do a line-by-line debug my code? And I always want to be debugging, especially in this new realm of integrated ASP.Net MVC where debugging a View means you have to worry about if the bug lies in your ASP.Net code, your JQuery code, or the service(s) your .ajax or .getJSON calls are making. I didn’t mind the hassle of having to recompile every time a change needed to be made inside the Controller or Business Logic layers once it meant I could track the state of my application during events as closely as possible.

Turns out we can have it both ways. These recommendation from Stephen Walter, although set on the topic of running an ASP.Net MVC Application specifically, are useful for any developer looking to customise the debug and run process when using Visual Studio 2008. So my coworkers and I will both be happy, because now they’ll be readily able to debug their code in real time (and engaging in a better coding practice at the same time) and I’ll be running my debug sessions on top of IIS to remove any possible hiccups from using Cassini for testing.

The settings are available on the Web tab on the Web Application Project’s properties page (ASP.Net MVC or not)  and to do this I have to make sure it is set to use a local IIS virtual directory (which I’ll make right there if it isn’t set already) and that I enable the check box that allows me to make code changes without the need to stop debugging and recompile.

Getting the address of the hosting server

One of the simple problems I’ve encountered was just getting the name of the server that’s running my ASPX application, whether it be the localhost:xxxx of VS 2008’s Cassini server, localhost, or http://www.myserver.com. The following commend returns that as a string.

Html.Encode(HttpContext.Current.Request.ServerVariables[“HTTP_HOST”]

The ServerVariables NameValueCollection has a very interesting collection of information that I can see being quite useful to know about in future.

DotNetJunkies has a good tutorial on ServerVariables in ASP.Net.

Note: The command above only returns the address as a string, not the protocol. If you want to use it in an anchor tag (<a href=”someaddress”>somelink</a>) don’t forget to append the protocol (e.g. ‘http://&#8217;) to the string returned from the command or you may experience some strange behaviors.

RestrictedFormats/BluRayAndHDDVD – Community Ubuntu Documentation

While trying to put together an opinion blog article for The Redditech Blog I came across this informative post for Linux lovers on RestrictedFormats/BluRay And HDDVD  from the Community Ubuntu Documentation which basically gives guidance on using High capacity optical drives within this operating system. Enjoy!

How to configure for no-www : The Official Microsoft IIS Site

I’m taking note of this link on how to configure for no-www from  The Official Microsoft IIS Site. It took a bit of Google searching to find, although it was really easy to find how to do the same task using an Apache web server (use rewrite rules for .htaccess ).

HOWTO: VS 2008 Fix for ASP.Net MVC and xUnit.net new project errors

This may have been fixed by now with the release of ASP.Net MVC 1.0 RC, but using ASP.Net MVC Beta 1 to create a new project with xUnit.Net tests always generated the error “The name ‘GlobalApplication’ does not exist in the current context” when you first compile, something a bit daunting to any developer now trying to ‘get’ ASP.Net MVC.

This Codeplex discussion has the answer.

Basically rename all instances of GlobalApplication to MvcApplication in the Test project and things should compile and run fine. If you want to know exactly why this works, you can take a read of this cool article on the anatomy of an ASP.Net MVC Application.

Amazon S3 Firefox OrganizerS3Fox :: Firefox Add-ons

For any active developer used to FTP goodness of the FileZilla GUI, this Firefox plugin to Amazon S3 is very appealing, especially as its right there in your browser tray. If you get trouble downloading it from the S3Fox Organizer home page, try to download from here.