微软MSDN给出的使用.Net开发Windows Form网络应用相关程序的优化建议
此文主要针对使用微软的 DotNet 平台,做网络相关的WinForm程序的开发。
.NET平台中,网络相关的内容,基本全部包含于 System.Net 这个命名空间下。
应尽可能使用 WebRequest 和 WebResponse,而不要类型转换为子代类。使用 WebRequest 和 WebResponse 的应用程序可以利用新的 Internet 协议,而不需要进行大范围的代码更改,有利于顺利升级。
当使用 System.Net 类编写运行在服务器上的 ASP.NET 应用程序时,从性能的角度来看,使用 GetResponse 和 GetResponseStream 的异步方法通常更好。此条同样适用于Windows程序的开发,为避免主UI阻塞,提升UE,异步方式也是更佳的选择。
对 Internet 资源打开的连接数可能对网络性能和吞吐量有显著的影响。默认情况下,System.Net 对每个主机的每个应用程序使用两个连接。设置应用程序的 ServicePoint 中的 ConnectionLimit 属性可为特定主机增加此数目。设置 ServicePointManager.DefaultPersistentConnectionLimit 属性可为所有主机增加此默认值。
当编写套接字(Socket)级别的协议时,请尽可能尝试使用 TCPClient 或 UDPClient,而不是直接向 Socket 中写。这两个客户端类封装 TCP 和 UDP 套接字的创建,而不需要您处理连接的细节。
当访问要求凭据的站点或应用时,请使用 CredentialCache 类创建凭据的缓存而不要对每个请求都提供它们。CredentialCache 类搜索缓存以查找要提供给请求的适当凭据,从而使您不必根据 URL 来创建和提供凭据。
06a8cfe2
作者: 三角猫
http://www.zu14.cn/
转载请保留此信息