我想请求你的帮助,因为我的做法并不好。在服务器端,有客户端连接(每个客户端由我的客户端类表示)。每个客户端都需要与服务器后面的DB通信,同时还需要多个连接。
我正在考虑在每个客户端实例中使用SQLConnection和SQLReader实例,这肯定会有效,但我不确定是否有更好的方法。当然,性能就是重要的一切。谢谢!
编辑:通常的流量约为5个请求/秒(打开连接通常是滞后的。)最大用户数不高于100。
答案 0 :(得分:0)
我通常让数据获取方法根据需要创建连接。我还没遇到过这种情况不够快的情况。不要忘记(至少在SqlConnection中)有一些内部连接池来提高性能。这种方法将有效地消除了为每个客户端维护数据对象的需要等等。
简单示例:
private static IEnumerable<SomeType> GetSomeData(string someInput)
{
IEnumerable<SomeType> result = null;
using (SqlConnection conn = new SqlConnection(GetConnectionString()))
{
// put whatever code is needed to populate the result here
}
return result;
}
您还可以考虑使用Linq-to-SQL,这可能会产生非常简单且高性能的数据访问代码。
答案 1 :(得分:0)
我在考虑像连接池这样的东西。我们只创建有限数量的Connection对象并在客户端之间共享它们。由于每个客户端都不使用连接,我认为这是可能的。