Comet, Reverse Ajax or Ajax Push


Comet is a web framework in which the server sends data to the client using long held connections. As soon as the client receives the message it opens a connection to the server until a complete message is read. This Architecture enables the server to push data to the client rather then the other way around.
The Architecture depends on Ajax to receive message from server and continue receiving contents from the server in the background while the user is using other features on the page.

A similar architecture is proposed in HTML 5 called server-sent events, which adds new html element event-source and a new data format called DOM event stream.

I believe with the improvement of this architecture lot of barriers for web based applications will be lifted and the difference between web based clients and desktop clients will reduce.

The main applications that will benefit from this architecture will be browser based chat applications, Web Ads delivery, email clients etc

References:

http://en.wikipedia.org/wiki/Comet_(programming)

http://cometdaily.com/

http://ajaxpatterns.org/HTTP_Streaming

http://www.codeplex.com/comet

http://cometdaily.com/2008/06/03/various-comet-projects-hosted-at-sourceforge/

Asp.net AJAX stops working on upgrade from asp.net 2.0 to 3.5


Issue:

I upgraded my existing project developed in asp.net and .net extensions 1.0 to Ajax extensions that come bundled with asp.net 3.5 using Visual Studio 2008. After the upgrade I got compiler errors saying that the required assembly could not be found.

Reason:

It turns out that on conversion Visual studio does not remove the reference to the AJAX extension for version 1.06 and hence the error.

Solution:

In order to sort out this issue you need to go into project properties -> Reference tab and remove the reference System.Web.Extensions and create a new reference to the System.Web.Extension for the .net 3.5 dll located at \Program Files\Reference Assemblies\Microsoft\Framework\v3.5

alternately after removing the reference you can copy System.Web.Extensions.dll from from the 3.5 version to the bin directory of your project to sort out the issue.

Please note that if your project has any reference to the old System.Web.Extensions it will complain that there are two reference to System.Web.Extensions, in this case you can either remove older version of extensions from your system and deleted all temporary files in Windows temp and restart Visual Studio 2008, alternately make sure that all references to System.Web.Extensions to the older version are removed from your project.

For more details of how to upgrade project from .net 2 to .net 3.5 check out this post

Visual Web Developer blog

Happy Coding 🙂