微软MSDN给出的使用.Net开发Windows Form网络应用相关程序的优化建议

dot net visual studio system.net msdn

 

此文主要针对使用微软的 DotNet 平台,做网络相关的WinForm程序的开发。

.NET平台中,网络相关的内容,基本全部包含于 System.Net 这个命名空间下。

 

MSDN上,微软官方给出的优化建议如下:

 

应尽可能使用 WebRequestWebResponse,而不要类型转换为子代类。使用 WebRequest 和 WebResponse 的应用程序可以利用新的 Internet 协议,而不需要进行大范围的代码更改,有利于顺利升级。

 

当使用 System.Net 类编写运行在服务器上的 ASP.NET 应用程序时,从性能的角度来看,使用 GetResponse GetResponseStream 的异步方法通常更好。此条同样适用于Windows程序的开发,为避免主UI阻塞,提升UE,异步方式也是更佳的选择。

 

对 Internet 资源打开的连接数可能对网络性能和吞吐量有显著的影响。默认情况下,System.Net 对每个主机的每个应用程序使用两个连接。设置应用程序的 ServicePoint 中的 ConnectionLimit 属性可为特定主机增加此数目。设置 ServicePointManager.DefaultPersistentConnectionLimit 属性可为所有主机增加此默认值。

 

当编写套接字(Socket)级别的协议时,请尽可能尝试使用 TCPClientUDPClient,而不是直接向 Socket 中写。这两个客户端类封装 TCP 和 UDP 套接字的创建,而不需要您处理连接的细节。

 

当访问要求凭据的站点或应用时,请使用 CredentialCache 类创建凭据的缓存而不要对每个请求都提供它们。CredentialCache 类搜索缓存以查找要提供给请求的适当凭据,从而使您不必根据 URL 来创建和提供凭据。

06a8cfe2

posted @ 2010-01-25 16:05 三角猫 阅读(...) 评论(...) 编辑 收藏