views:

3275

answers:

6

What's the best way to push info from a server to a web client? I know it's possible to setup sockets with Silverlight and Flash but I want to stay way from those two technologies.

Gmail seems to do a great job of polling the servers for updated emails and even their chat programs work great (all working in my web browser). Any ideas on the best way to do something like this but using asp.net?

Edit: If I have to poll, i'd like to poll the server every 2 or 3 seconds. So I'm not sure how to do this without bringing the web server to it's knees under heavy usage.

A: 

To do that, use ASP.NET 3.0/3.5 or if you are using earlier versions, use ASP.NET Ajax. However both examples listed by you, are using Ajax to pull information, not push it.

Ilya Volodin
+1  A: 

I would create a script callable Web Service and use JQuery.

Here's a good guide on using JQuery to call an ASP.NET (ASMX) web service:

http://encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

Now, you would just poll this web service at whatever interval makes sense for your application.

Also, the problem with ASP.NET AJAX is it's a bit top heavy. By using JQuery, you can call your web service from a regular ASP.NET web form, from a View in MVC, or actually using any other web technology (classic ASP, PHP, whatever) all from the client side using just, in my view, the best javascript framework around. :)

BobbyShaftoe
+3  A: 

The push technique you are looking for is called Comet. See this article for some pointers.

RedFilter
+1  A: 

Try out WebSync, a scalable comet server built for .NET/IIS. It'll let you push data nicely from the server, and integrates super easily with ASP.NET projects (a couple web.config entries is all it takes).

jvenema
@Downvoter - reason?
jvenema
+1  A: 

First check these sample projects made with ASP.NET and read the the tutorial in here

Zuuum