C# 在内部访问数据库的webapi方法中处理多个请求
我们使用webapi为多个客户端请求提供服务,webapi托管在iis服务器上 iis将如何处理来自客户端的数千个请求 1) 在这种情况下,我们如何实现最佳性能? 2) 做webapi方法,异步会有什么不同吗? 3) 我们需要遵循哪些最佳实践 提前谢谢 iis将如何处理来自客户端的数千个请求 视情况而定。实际上,即使IIS的限制可能不是您主要关心的问题,也有其他可能影响IIS性能的因素,例如硬件 在这种情况下,我们如何实现最佳性能 您可以做很多事情,您可以使用队列系统,在许多场景中不需要让用户等待繁重的事务或非常复杂的逻辑。如果用户的请求涉及许多不同的复杂任务,那么您可以做最少的任务并返回给用户,其余的任务可以在后台完成。在这种情况下,您可以使用队列系统 做webapi方法,异步会有什么不同吗 否,因为C# 在内部访问数据库的webapi方法中处理多个请求,c#,iis,asp.net-web-api2,C#,Iis,Asp.net Web Api2,我们使用webapi为多个客户端请求提供服务,webapi托管在iis服务器上 iis将如何处理来自客户端的数千个请求 1) 在这种情况下,我们如何实现最佳性能? 2) 做webapi方法,异步会有什么不同吗? 3) 我们需要遵循哪些最佳实践 提前谢谢 iis将如何处理来自客户端的数千个请求 视情况而定。实际上,即使IIS的限制可能不是您主要关心的问题,也有其他可能影响IIS性能的因素,例如硬件 在这种情况下,我们如何实现最佳性能 您可以做很多事情,您可以使用队列系统,在许多场景中不需要让用户等
async
表示“允许此方法异步工作”或“允许此方法使用wait
运算符”。您应该知道如何使用并发
而不仅仅是异步编程
。但是使用任务
处理繁重的事务,例如处理数据库和等待
在异步
方法中执行这些任务,是的,这将帮助服务器同时响应更多请求
我们需要遵循哪些最佳实践
很好地理解
并发性将非常有帮助。此外,这不仅仅是关于webapi
的问题,从数据访问层到RDBMS
中的索引,一切都可能影响WEB应用程序的性能,即使是响应也可能有影响。例如,如果您的响应是XML
,您可以使用JSON
,因为它生成的数据相对少于XML
,因此数据交换更快。你的问题很广泛,这要视情况而定。它不仅仅是关于IIS
或webapi
,甚至是整个Web应用程序
,这取决于它 为此,您需要对并发性有很好的理解。
上面的答案以最好的方式解释了这一点。
此外,您还可以阅读这篇MSDN文章,了解有关并发性的更深入的详细信息
IIS从线程池启动线程以处理您的请求。1) 不使用iis和webapi?如果必须,请使用最佳硬件2)async
方法只有在io阻塞(例如,您正在等待网络或磁盘读取)的情况下才能提高性能3)感谢您的快速响应。1) 不使用iis和webapi?如果必须的话,使用最好的硬件——OK 2)异步方法只有在io阻塞(例如,您正在等待网络或磁盘读取)的情况下才能提高性能——是的,有db级别的调用。感谢您的快速响应。1) 在webapi术语的情况下,我们如何实现排队系统?2) 在每个客户端请求中,我们都要处理繁重的数据库事务。在每个响应中,根据客户端请求返回数据。3) 我们使用的是json格式而不是xml。