我们有两个由两个后端项目(一个是ASP.Net WebAPI,另一个是WCF Webservice)服务的前端客户端,两个后端项目都引用了类库项目的DLL,该DLL使用实体框架封装了DBLayer。 / p>
我的问题是将相同的数据从(WebAPi和WCF WebService)传递到DBLayer ClassLibrary内部的相同保存方法时 当调用DBContext.SaveChanges()时,两个项目的总执行时间不同,因此WebPI花费了两倍的时间。 我们确保使用相同的计算机,相同的数据库,相同的应用程序池,相同的.net Framework版本发送相同的数据 我打开了SQL事件探查器,发现SP执行时间是相同的,但是每次SP调用之间都有时间间隔 例如:DBContext.SaveChanges()在下面执行10个SP,但是WebAPI项目上的每个SP调用之间的时间间隔几乎为200-300毫秒,而WCF Web服务项目内的每个SP调用之间的时间间隔为80毫秒左右
我希望有人可以帮助确定什么地方出了错,或者我们可以做些什么调整,以使同一项目之间获得相同的性能,因为他们使用的是相同的代码。 谢谢。