Asp.net mvc ASP.NET缓存启动值

Asp.net mvc ASP.NET缓存启动值,asp.net-mvc,caching,Asp.net Mvc,Caching,我正在将一个应用程序从WebForms转换为MVC 应用程序使用Web服务从集中的位置获取设置。这些设置通常可以在Web.Config中找到,但公司希望将这些值存储在所有应用程序的集中位置 当前,每当您请求应用程序设置时,它都会检查HttpContext.Cache以查看您是否已检索到设置。如果没有,它将进行web服务调用,并在HttpContext.Cache中存储设置100+个基本上是键/值的对象。因此,获取应用程序设置的调用只发生一次 我是否应该寻找另一种方法来做到这一点?我在想,设置应该

我正在将一个应用程序从WebForms转换为MVC

应用程序使用Web服务从集中的位置获取设置。这些设置通常可以在Web.Config中找到,但公司希望将这些值存储在所有应用程序的集中位置

当前,每当您请求应用程序设置时,它都会检查HttpContext.Cache以查看您是否已检索到设置。如果没有,它将进行web服务调用,并在HttpContext.Cache中存储设置100+个基本上是键/值的对象。因此,获取应用程序设置的调用只发生一次


我是否应该寻找另一种方法来做到这一点?我在想,设置应该只是一个REST服务调用,在这里您传递密钥并获得一个值。当前服务是*.ashx,这对于异常处理和其他许多原因来说并不理想。但显然,这将导致更多的web请求。这里的最佳实践是什么?当前方法可以吗?我应该让代码在MVC应用程序中保持不变?

最好在一次调用中加载所有资源:

HTTP请求越少,性能越好。Http请求可能有大约50毫秒的延迟,因此需要更长的时间才能逐个获得所有值50 x 100=5000毫秒=>5秒 如果外部web服务关闭,那么您的应用程序仍然可以工作,因为您已经下载并缓存了所有值
如果当前的解决方案有效,我将保留它,并将重点放在新的东西上,而不是重写工作代码。

StackOverflow并不是提出此类问题的最佳场所。你建议去哪里?谢谢。这么问有什么问题吗?从webforms迁移到MVCThanks似乎是一个公平的问题,这很有帮助。仍然困扰我的是使用*.ashx,与使用REST服务(如Web API)时可用的HttpResponse代码相比,它的响应似乎非常有限。@RyanLangton http处理程序可以返回任何类型的数据xml、json,并接受任何类型的请求(也包括PUT、DELETE)。一旦您需要支持多种类型的请求,例如创建/更新配置值、筛选、删除值,我建议您切换到Web API。