C# .NET 多服务器或云结构

标签 c# .net cloud-hosting multiserver

我有一个越来越大的社交网络,但很多功能都在使用“HttpContex.Current.Cache”类来重新利用数据,而无需在每次请求时都访问数据库。我知道“HttpContext.Current.Cache”是“静态的”,所以我会遇到多服务器和云结构的问题。我知道还有一种方法可以将 SQL Server 配置为也使用缓存系统。是否足以处理所有请求,还是我还需要做其他事情?

顺便说一句,我将不得不删除大部分缓存功能,因为它保存了一些用户数据...

我在这里问这种问题,因为我在多服务器结构中测试网站,我已经遇到问题了。我必须确保服务器内存 A 等于服务器内存 B 并这样做,我知道我是否放弃了多服务器结构的所有好处..

最佳答案

"I have to make sure Server memory A is equal to Server memory B"

我不认为这是可以通过任何方式实现的。

你真正想要的是一个Distributed Cache机制。常见的选项是:

不过请记住,HttpContex.Current.Cache 是静态的,并且针对每个应用程序域。这意味着一旦您切换到 分布式缓存 解决方案,您必须将对 HttpContex.Current.Cache 的所有调用更改为新的缓存 API。

好消息是,至少可以轻松配置 Session StateOutput Cache 以使用新缓存(使用 web.config 通常)。

关于C# .NET 多服务器或云结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16529805/

相关文章:

.net - WPF 应用程序错误和 .Net Framework 修复

.net - 是什么导致 WPF 应用程序中出现 InvalidDeploymentException?

.net - 是否可以用使用不同 key 签名的程序集来替换强名称程序集?

windows - MongoLab授权异常

django - 对在亚马逊网络服务中托管感到困惑

C# typedef 泛型

c# - HttpListenerRequest 未返回客户端证书

c# - 是否可以在 C# 中有一个名为 bool 的字段?

c# - 在 Raspberry Pi 上 dockerize .net core mvc 应用程序后,wwwroot 文件夹中没有静态文件

load-balancing - 如果我托管在云中,我还需要负载平衡之类的东西吗?