使用C#的跨平台开源异步HTTP和DB
-
05-07-2019 - |
题
有没有人知道异步C#(或该语言的原生内容)的开源库的良好资源。我对这个主题感兴趣,但我特意寻找与HTTP和DB调用有关的东西。也许是一个带有HTTP和DB插件的事件驱动框架?
请不要使用非C#解决方案或任何不能用于单声道的解决方案(除非计划很快在单声道上运行)。
解决方案
对于HTTP,它有点取决于您是在谈论客户端还是服务器。假设客户端,您可以在WebClient中使用* Async方法
http:// www。 go-mono.com/docs/index.aspx?link=T:System.Net.WebClient/ *
对于DB,sqlcommand(或类似)类为异步调用公开BeginExecute *方法
http:// www.go-mono.com/docs/index.aspx?link=T:System.Data.SqlClient.SqlCommand/ *
其他提示
你可能不得不使用某种队列系统。有很多队列引擎。 MSMQueue是“标准”的。 Microsoft解决方案。
你看过Linxter Internet Service Bus系统吗?您可以在 http://www.linxter.com 以及一些展示如何执行的示例应用程序中找到一些详细信息。通过Internet分发的数据库事务。
这个问题非常通用,HTTP,DB和异步都可能意味着很多不同的东西,具体取决于要求:
在 codeplex 上,您可以找到更符合标准的HTTP服务器实施,该实施是事件驱动的,兼容Mono已被其他人成功使用。
有许多Asp.Net提供商,以及 NHibernate
对于Linq to Sql,您最好的选择可能是使用 DbLinq ,尽管DbLinq包含在Mono命名空间。
您可能应该查看 NServiceBus 。如果它在mono上运行,它为异步调用提供了一个很好的框架(基于消息传递)。 默认情况下,它不提供数据库或HTTP连接,但这应该很容易集成。