Question

Does anyone know of a good resource for open-source libraries for asynchronous C# (or native stuff to the language). I'm interested in anything on this topic, but I'm specifically looking for stuff pertaining to HTTP and DB calls. Maybe an event-driven framework with plugs for HTTP and DB?

Please do not buzz in with a non-C# solution or anything that does not work on mono (unless it is planned to run on mono soon).

Was it helpful?

Solution

For HTTP, it kinda depends on whether you're talking about client or server. Assuming client, you could just use the *Async methods in WebClient

http://www.go-mono.com/docs/index.aspx?link=T:System.Net.WebClient/*

For DB, the sqlcommand (or similar) class exposes BeginExecute* methods for async calls

http://www.go-mono.com/docs/index.aspx?link=T:System.Data.SqlClient.SqlCommand/*

OTHER TIPS

You would probably have to use some kind of queue system. There are lots of queue engines. MSMQueue is the "standard" Microsoft solution.

Have you looked at the Linxter Internet Service Bus system? You can find some details at http://www.linxter.com and some sample apps that show how to perform database transactions distributed over the Internet.

The question is quite generic, both HTTP, DB and asynchronous could mean a lot of different things, depending on the requirements:

On codeplex you can find a more standards compliant HTTP server implementation which is event driven, compatible with Mono and has been used by others successfully.

There are a number of Asp.Net providers, as well as NHibernate

For Linq to Sql, your best option will probably be to use DbLinq although DbLinq is being included in the Mono namespace.

You probably should check NServiceBus. If it runs on mono it offers you a good framework for asynchronous calls (based on messaging). It doesn't offer DB or HTTP connectivity by default, but this should be fairly easy to integrate.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top