Pergunta

Alguém conhece um bom recurso para bibliotecas de código aberto para C# assíncrono (ou material nativo para o idioma). Estou interessado em qualquer coisa sobre esse tópico, mas estou procurando especificamente coisas referentes às chamadas HTTP e DB. Talvez uma estrutura orientada a eventos com plugues para HTTP e DB?

Por favor, não entre em uma solução não C# ou qualquer coisa que não funcione no Mono (a menos que esteja planejado para executar em Mono em breve).

Foi útil?

Solução

Para o HTTP, depende se você está falando sobre cliente ou servidor. Assumindo o cliente, você pode apenas usar os métodos *assíncronos no WebClient

http://www.go-mono.com/docs/index.aspx?link=t:system.net.webclient/*

Para DB, a classe SQLCommand (ou similar) expõe os métodos Beginexecute* para chamadas assíncronas

http://www.go-mono.com/docs/index.aspx?link=t:system.data.sqlclient.sqlcommand/*

Outras dicas

Você provavelmente teria que usar algum tipo de sistema de filas. Existem muitos motores de fila. Msmqueue é a solução "padrão" da Microsoft.

Você já olhou para o sistema de barramento de serviço da Internet Linxter? Você pode encontrar alguns detalhes em http://www.linxter.com e alguns aplicativos de amostra que mostram como executar transações de banco de dados distribuídas pela 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.

Você provavelmente deveria verificar NSERVICEBUS. Se for executado no Mono, oferece uma boa estrutura para chamadas assíncronas (com base nas mensagens). Ele não oferece conectividade DB ou HTTP por padrão, mas isso deve ser bastante fácil de integrar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top