Car*_*s00 -7 .net c# sql-server-2008 entity-framework-4
我们有使用Entity Framework的.NET 4.0应用程序.应用程序通过TCP远程连接到SQL Server.在局域网上,它很快,但在互联网上流量非常高.
我们想做的就是打开一些,TCP compression
但看起来SQL Server 2008不提供此功能.
压缩TCP通信的最简单的解决方案是什么?
您正试图在错误的级别/层上解决问题.描述与SQL Server的通信,并开始考虑优化.这是唯一有效的开始点.不正确的EF使用会导致与SQL服务器的糟糕聊天和缓慢的通信,这是任何压缩都无法解决的问题,因为繁琐的顺序通信意味着多次不必要的往返数据库,每次往返都会增加处理的持续时间.潜伏.我已经看过解决方案(其中一些是我自己做的),其中错误使用EF在单个请求处理中创建了数千个延迟加载查询.
是的,最终可能会用存储过程和自定义查询替换部分EF代码,最糟糕的情况是放弃整个EF.
如果您的问题是传输的数据量,那么再次考虑优化并将传输的数据量减少到仅需要的子集,或者可能在存储过程或视图中使用SQL服务器上的某些预处理.顺便说一句.这种思考应该在应用程序设计期间完成,您应该考虑应用程序运行的目标环境.
编辑:
再说一遍.通过WAN与数据库通信并不常见.通常这样的要求导致在具有SQL服务器的LAN中的服务器上实现具有业务逻辑的另一层.此业务逻辑层将Web服务公开给WAN上的客户端.这种架构可以减少与数据库进行大量通信时的延迟,同时客户端和服务之间正确的消息交换架构可以带来额外的改进.
归档时间: |
|
查看次数: |
981 次 |
最近记录: |