Usability, MVC, ASP.NET

31. März 2011 01:06
by Henrik Stenbæk
0 Kommentare

Dynamic robots.txt with ASP.NET MVC

31. März 2011 01:06 by Henrik Stenbæk | 0 Kommentare

If you have one application on your IIS and several domain names pointing to it, it’s possible to have different robots.txt files served based on the current domain name.

1. Add a route


2. Create the RobotsController


3. The SeoHelper just implements a simple way of determine what robots.txt file to return


4. Add the different versions of the robot.txt to the site root – remark the content for the robots.txt could be served from any source, I have just chosen a simple model to keep it simple


5. Run the site and request robots.txt



Get the source code: DynamicRobotsTxt.rar (21,66 kb)

28. März 2008 00:32
by Henrik Stenbæk
0 Kommentare

Using the switch code snippet with an enum

28. März 2008 00:32 by Henrik Stenbæk | 0 Kommentare

I just had one of those WOW experience today when I happened to use the switch code snippet with an enum.

I had an enum like this:

   1:  enum MyEnum
   2:  {
   3:      value_1,
   4:      value_2,
   5:      value_3,
   6:      value_4,
   7:      value_5
   8:  }

Start the video to se what happened when I tapped out of the snippet "switch_on" field.

WOW the snippet automatically created:

case MyEnum.value_1:

for each element in the enum. But how did it do that? Looking into the switch.snippet file I found:

<Literal Editable="false">


It's the GenerateSwitchCases function that's doing the job - one out of 3 pre defined functions that available to "snippets"

19. März 2008 00:56
by Henrik Stenbæk
1 Kommentare

Refactor: Extract Method

19. März 2008 00:56 by Henrik Stenbæk | 1 Kommentare

I don’t know about you but I for my part often end out writing linear code.

Maybe it’s a hangover from writing to much BASIC code in the mid 80’s or maybe it’s just me thinking linear and not that much object-oriented. After all I often end up with “long functions” that includes code that could be isolated in “sub functions”.

Today one of my colleges pointed out the Refactor->Extract Method function. This function takes a part of your code and isolate it’s in a separate function.

Look at the code in this Page_Load: its includes some silly greeting stuff (just for the demo), the function is long and hard to read, lets try to separate the greetings part in a separate function.


Highlight the code you want to move to a new function, right click and select Refactor -> Extract Metod.



Give the function a nice name (getGreeting). Notice the signature preview show what parameters the function will be created with.


The Page_Load after generating the getGreeting function - nice and easy to read ;-)


The auto generated function takes 2 parameters and return a string


kick it on