用户可以主要为Web应用程序执行CRUD操作。但是我的特定Web应用程序的情况有所不同。用户从不做CUD。他们只能检索数据。
所以图片:
1-经常有一个服务更新数据库(每秒7-8次更新)(调度框架是Quartz.Net)
2- Sql Server 2008 R2
3- Asp.Net MVC 4(Web用户只能从Sql Server读取数据!)
要求:Web用户永远不会从Sql Server获取数据!
策略A :(代码名称:主机是Web应用程序)
1-从Asp.Net MVC调用服务库,以便我们可以事务性地更新数据库和缓存
2-网络用户可以从缓存中读取
3-在App_Start上,我们从sql server更新缓存数据。
4-基于时间的应用程序池回收已关闭
策略B :(代码名称:Web管道)
1-服务以exe身份运行。
2-服务不进行Sql Update,它将Web请求发送到Asp.Net MVC Application。
3-所以Asp.Net MVC应用程序(Controller的Action)确实以事务方式更新和缓存
4-在App_Start上,我们从sql server更新缓存数据。
5-基于时间的应用程序池回收已关闭
对于两个场景,Web用户永远不会从SqlServer获取数据。他们总是从缓存中读取数据。 他们总是使用对象缓存。 Asp.Net Mvc的最快缓存。没有序列化开销。