Mic*_*Mao 11 c# asp.net restsharp
ASP.Net HttpClient
可以部署和很多文章说,你应该使用Singleton模式来使用它,因为的性能,但是当我看到RestClient
它不能处理,并在推荐,用法示例页面会new
在RestClient
每次有什么我的问题我是应该使用单身模式RestClient
还是应该new
每次使用单一模式,如果我new
每次都会出现任何性能问题?
一些参考:
Cod*_*ler 27
我应该为RestClient使用单例模式还是应该每次都使用它,如果我每次都新建它会对性能产生什么影响?
建议使用的方法RestSharp
是为每个请求创建一个新实例.
它与推荐的Singleton方法不同HttpClient
.其原因是,引擎盖下 RestSharp
使用HttpWebRequest
的HTTP交互,而不是HttpClient
.这就是使用模式不同的原因.
如果我每次创建它都会像HttpClient一样出现性能问题吗?
您不应HttpClient
为每个请求创建新实例的主要原因不是性能考虑因素.创建和初始化所花费的时间将花费很少的时间来跟踪网络呼叫.使用单例实例的主要原因HttpClient
如下:
HttpClient旨在实例化一次,并在应用程序的整个生命周期中重复使用.为每个请求实例化一个HttpClient类将耗尽重负载下可用的套接字数量.这将导致SocketException错误.
RestSharp
不使用连接池,HttpClient
并且在使用后不会留下打开的套接字.这就是为RestClient
每个请求创建一个新实例是安全的(并推荐)的原因.
如果使用重用实例,您会获得任何性能提升RestClient
吗?那么,您将节省创建对象及其初始化的时间.然而,这个时间非常接近0
,而且这只是花在跟踪网络呼叫上的一小部分时间.您不会List<T>
因为性能考虑而重用其他.NET对象,不是吗?你也应该这样做RestClient
.它只是以一种暗示这种使用场景的方式开发的.
归档时间: |
|
查看次数: |
3654 次 |
最近记录: |