March 2007 - Posts

Me being the fan of 64 bit operating systems, I discovered an issue when working with Sitecore today. In particular I am running Windows Vista x64 Ultimate. After first discovering that the installer would not work, I performed a manual install. After I got everything manually installed, I attempted to run the site only to find an error stating that my app is not a valid win32 application. It was a BadImageFormatException (Exception from HRESULT: 0x800700C1).

After a little googling I discovered this was 64 bit related and the fix is to force IIS to run in 32 bit mode. To do this, you use adsutil.vbs. The syntax below will make it work.

cscript %SystemDrive%\inetpub\AdminScripts\adsutil.vbs set w3svc/AppPools/Enable32bitAppOnWin64 1

In the case of Sitecore I am guessing that one of their 3rd party DLLs wont run in 64 bit mode. No idea which one. I of course found nothing on their site or in their forums, so hopefully this post will be of use to another Sitecore developer down the road.

Some of you may remember this from some time back but I thought I would post it again since I needed it recently. Response.Redirect out of the box is not very search engine friendly. This is especially the case when you have it on your home page. This is because of the HTTP status code that method uses to do a redirect. To make the search engines complain less, the proper way to do a redirect in this situation is to use a 301 status code and add a Location header to the Response object.

Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", targetUrl);

That is all there is to it. This would be a useful place to add an extension method to the Response object to encapsulate this logic.

If you are trying to set up a SqlServerCacheDependency and don't have a DBA to do it for you, this may be on interest to you. One of the things required to do depdencies is to set up a service broker endpoint. There is nothing of course in the UI to do it, so here is the simplest possible T-SQL script that will get it done.

CREATE ENDPOINT BrokerEndpoint
STATE = STARTED
AS TCP ( LISTENER_PORT = 4037 )
FOR SERVICE_BROKER ( AUTHENTICATION = WINDOWS ) 

You can use the port of your choice and this thing actually has a ton of options. You can view them all at the link below.

CREATE ENDPOINT Options

I saw today that true IntelliSense support is coming in the next version of Visual Studio. It's about damn time. This feature is available now in the CTP of Orcas if you dare. Otherwise for now you can read about it at the link below.

JavaScript IntelliSense in Orcas