Wednesday, August 26, 2009

Ajax - do you really need a library?

I have begun working on an ASP.net application that I have needed to enhance with Ajax to get the performance up to scratch.  The users want to scroll through 1000’s of rows of data and are used to the flexibility of a desktop app.

I have based my Ajax on this book.

This does simple things like replacing the contents of a span tag with the rendered content of a distinct (yet incomplete) asp.net page.  So far I have all of the functionality that I need yet have not touched an ajax framework.  I am not sure that I am missing anything - all of the examples look far more cumbersome than what I already have!

My technique keeps a separate page for each specific replaceable region. Performing actions is always called to the form that produced the button (with the exception of navigation).  This appears to be a different technique to most of the examples that I have seen.  I can reuse the server component across distinct pages (with the client side having one script per page).  The update panel looks crude by comparison.  The trick is to do as much work on the server as possible but in small chunks.  You should be able to fill up the entire display window in less than a second.  Once you have that the user can start working while your app thinks about getting the rest of the data.

Posted by chriseyre2000 at 21:40:47 | Permalink | No Comments »

Sunday, August 23, 2009

Fixed header css

Can be found here

Posted by chriseyre2000 at 09:06:42 | Permalink | No Comments »

Thursday, August 20, 2009

More Fixes for the XP Search bug

This is a couple of solutions to the windows XP search bug.

I call it a bug, MS calls it a feature.  If windows does not recognize the file extension it will be excluded from searches.

This cost businesses money in pointless searches for files that really do exist but claim not to.

It the banking world it is common to have transfer files with a sequential number extension (possibly a serialized date).

Trying to prove that your app is not skipping messages is far more difficult than it needs to be.

Posted by chriseyre2000 at 20:26:03 | Permalink | No Comments »

Enabling DTC on a cloned machine

This allowed us to get the DTC working on a cloned machine.  It’s a bit odd but then the DTC is rather an afterthought.

Posted by chriseyre2000 at 20:21:28 | Permalink | No Comments »

Wierd SharePoint bug

I started getting the following error message:

0×80040E09 on SPListItem.Update.

Resolved by granting Update permissions to the WSS database.

Posted by chriseyre2000 at 20:19:18 | Permalink | No Comments »

Kerberos and SharePoint

Here is an article on fixing SharePoint in a Kerberos environment.

Posted by chriseyre2000 at 20:18:18 | Permalink | No Comments »

K2 and MSBuild

This and This are articles about using K2 with MSBuild.

This is something that I am going to have to do soon as we need to deploy our code to production via K2.

Posted by chriseyre2000 at 20:14:16 | Permalink | No Comments »

TFS Howler

TFS howler: password changes while VS is open – you lose the ability to check in until you restart VS.  Bug exists in 2005 and 2008
TFS is a very different version control system.   That is not a good thing.  It seems clunky and ill thought out.  Unfortunately I have to use it…

It assumes that you are using visual studio (unless you use the excellent tfs bridge/ tortoise svn).

You need to save everything before you can check in.

Posted by chriseyre2000 at 20:09:39 | Permalink | No Comments »

K2 Roles

This is an article on K2 Roles.

Personally I think that K2 have made a mistake in their handling of AD Groups as destinations.

It seems to upick the group into it’s parts as the Activity is entered.  Which is great until a new user joins the team. They can’t perform actions on the item until it has been moved state.

Posted by chriseyre2000 at 20:06:03 | Permalink | No Comments »

Caching In Winforms (or anywhere else)

Here is a great article on using the ASP.Net cache outside of web apps.

This is the gist of the article:

  • Add System.Web to your references
  • Get the actual cache object using

private Cache m_Cache;

m_Cache = HttpRuntime.Cache;

Posted by chriseyre2000 at 19:57:07 | Permalink | No Comments »