Many Sitefinity sites are based on Web Forms and Web Forms use ViewState. It is common knowledge that uncontrolled ViewState can create a very large amount of data in our web pages and this data is sent back and forth with every request. There are many ways to reduce and turn off ViewState when it is not required but when it is there is one more method to help keep down the page size.
Almost from day one I thought Azure Web Sites was a better platform than Azure Cloud Services for Sitefinity. I have been running my Sitefinity instances there for 2 years now even though there was no support. But now its been announced that 8.2 will support Azure App Services, (Formerly Azure Web Sites), and I am super excited.
I have done several reviews of Sitefinity releases and they and this one are all following a trend in what I write. But I do have to be honest in that all the good stuff that I like to see, (bug fixes are one), are often delivered on a fortnightly basis which is always brilliant and great to see.
The number one performance issue I have with my clients Sitefinity sites is their inability to manage their images. This last week I have had a job to review image management on one site and explain to another client the difference between 1MB and 20Kb image effect on their site. And to top it off a third client with a database of over 1GB of image storage. So I thought I would do a couple of posts on the subject starting with using a CDN.
Using the custom errors and redirecting 404 requests to a Sitefinity page doesn't set\return the 404 response status. The issue arrives when your 404 page is based on a master page. To get around this you can either create a custom master page and override the render method or a widget which is added to the page.
Currently Sitefinity supports Azure Cloud Services but in my honest opinion Azure Websites are today the much better option. I run all my Sitefinity sites on Azure Websites and enjoy all the benefits I get from it. Except no support for multiple nodes, (or load balancing) or official support from the Sitefinity team.
I love the release progress of Sitefinity. Regular internal builds if you are looking for a fix before the next release and a steady march of new features. Sitefinity 8 is in beta and due out soon with all the 'What's new webinars' scheduled. A previous release, 7.2, had me impressed and ho-umm'd at the same time. When the 8.0 feature list came out I was interested to see if it would have me rushing to upgrade.
Sitefinity is secure platform. It is PCI and FIPS compliant in all areas where user credentials are stored but there are some things still left in your hands to ensure it is secure. Password policy is one area that you are in charge of. Passwords are pain. If we use something we can remember it is weak. If we use something secure its hard to remember. And what some sites require for a strong password are often not that strong.
Sitefinity uses a In Memory cache. It is an implementation of the Enterprise Library Caching Application Block. This works fine but its a bit slack when in a multi server environment. You are effectively caching the same data on every server and thus, I think, a bit redundant. But you can create your own implementation of the CacheManger using the ICacheManager interface. I have done this and used the Azure Redis Cache, a leader in distributed cache systems.
Without doubt you should be using the built in cache features of Sitefinity. The difference is significant if you don't. One of the first tweaks is to extend the time in cache for objects. But there are a few more improvements I have found from browsing the web and I have put them together here.
I recently had a requirement for Sitefinity Ecommerce to supply free shipping for orders over a certain amount. Along with that, it needed to be turned on and off for promotions. This feature isn't supplied out of the box with Sitefinity so I had to write an extension.
Sitefinity has released 7.2 in the last few days. I found this release to be quite secretive. There was never any Road Map posted for it and as I write this the Road Map is still talking about 7.1. There is some very cool features in this release. Yet, to be honest, I am at the same time wowed and ho-humm'd about the release.
Sitefinity has good security out of the box but the one thing they can't do and you should do is secure the log on page. Even for a simple site you can get a free SSL cert or very cheap ones. They aren't high quality but they are far superior to the open plain text you are sending without them. There are also a few other steps you can take to make your site more secure.