微软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 @   三角猫  阅读(458)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述
点击右上角即可分享
微信分享提示