问题标签 [azure-caching]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
454 浏览

asp.net-mvc-4 - ASP.MVC 4,Azure 缓存:本地和远程都出错 - “角色发现数据不可用”

唷...好吧,一直在与这个搏斗一段时间,我不知道发生了什么。

我是 Azure 缓存的新手,但此时我已经阅读了很多内容,并且我认为我的设置正确,但显然有问题,所以我知道什么?

好的,所以首先我使用这个很好的教程设置了一个专用的缓存网络工作者角色:http: //berniecook.wordpress.com/2013/01/27/distributed-caching-in-azure-cache-worker-role/

我有一个应该使用它的 ASP.net MVC 4 网站。

我将我的解决方案设置为多个启动项目,而我的云缓存项目设置为首先启动,但无论我做什么,我都会得到“角色发现数据不可用”。

有时在我的输出日志中,我发现角色环境无法初始化,但不是很频繁。大多数情况下,输出日志表明这是成功的。无论如何,我仍然收到上面的错误。

我在想问题可能是因为我在本地 azure 存储和计算模拟器上运行,所以我重新配置并将云服务发布到 Azure,看看是否有帮助。

它没有...

有趣的是,恰好有 2 次它突然起作用(都是当我在本地工作时)。大约 100 次的 2 倍。我没有做任何不同的事情……只是运行调试器和 poof,一切正常。这至少让人相信它实际上设置正确。

不用说,这极大地影响了我的工作效率,因此我们将不胜感激任何建议。


更新

好的,我已经找到了一种解决方法......我了解到它一直失败的原因是因为开发 Web 服务器持有一个阻止缓存服务器正确启动的文件。

解决方法是每次我想重新编译和运行代码时都停止 Web 服务器。这显然不是理想的,因此任何使其更可靠的方法都将受到赞赏。


谢谢,大卫

0 投票
0 回答
273 浏览

c# - redis缓存和内存缓存之间的pub\sub

在我的网页中,我创建了两种缓存:

  • 在内存缓存中,对于每个进程。
  • 进程外缓存。我使用了 Redis(特别是 Booksleeve)。

现在我已经建立了这两个,我想在它们之间建立一个通信。我希望每次使用新记录更新 Redis 缓存时,它都会发出信号(发布?)内存缓存,并“发送”新记录。另一方面,内存中的缓存可能需要“监听”redis 缓存(订阅?),我的问题是它是如何工作的,究竟是什么?以及如何在 C# 中做到这一点?

提前致谢

0 投票
2 回答
835 浏览

azure - Azure 缓存和实体框架反序列化问题

我有一个使用并置缓存在 azure 中部署的 Web 项目。我有这个网络角色的 2 个实例。

我正在使用实体框架 5,在从数据库中获取一些实体后,我使用并置缓存来缓存它们。

我的实体在名为 Drt.BusinessLayer.Entities 的类库中定义

但是,当我访问我的网络应用程序时,我收到错误消息:

反序列化程序无法加载要反序列化的类型,因为在程序集 'EntityFrameworkDynamicProxies-Drt.BusinessLayer.Entities, Version=1.0. . 检查被序列化的类型是否与被反序列化的类型具有相同的合同,并且使用了相同的程序集。

有时我也会得到这个:

未找到程序集“EntityFrameworkDynamicProxies-Drt.BusinessLayer.Entities,版本=1.0.0.0,文化=中性,PublicKeyToken=null”。

将实体取出/反序列化似乎存在错误。由于它们是我的 Web 角色的 2 个实例,因此 instance1 可能会将一些实体对象放入缓存中,而 instance2 可能会将它们取出。我原以为这会起作用,但我不确定为什么会收到此错误....

任何人都可以提供帮助/建议吗?

0 投票
0 回答
153 浏览

azure - 为什么 Azure 缓存使用超过 30% 的内存?

我正在运行使用“新 Azure 缓存”的 Azure 云服务。

我已将云服务配置为使用 30% 的内存(默认值),但 CacheService 仍然不断消耗内存,直到服务器开始将内存换出到磁盘。服务器有 3.5 GB RAM (Medium),运行 3 天后 CacheServices 使用了 2GB(并且不断增长)。附上图片。

我们甚至不使用缓存,所以这让我很紧张。

另一个奇怪的是,同一部署中的另一台服务器没有这个问题。

谁能告诉我这是否正常,我应该担心,还是某个地方有我失踪的环境?

在此处输入图像描述

0 投票
2 回答
1500 浏览

azure - 间歇性 Azure 缓存错误:“引用的缓存不存在。联系管理员或使用缓存管理工具创建缓存。”

我们有一个部署已经使用缓存角色一段时间(没有真正的问题),并且我们最近在一个实例上添加了一个共置缓存。

由于我们添加了这个并置缓存,我们开始偶尔会看到这个错误:

当我们在缓存角色中访问缓存时,但这似乎几乎立即消失了,一段时间内一切正常,直到此问题再次出现。

缓存似乎不太可能不存在,因为它一直在工作,然后很快又开始工作,那么问题可能是什么?

编辑以添加更多细节。

我们有 2 个缓存。1 是一个专用的缓存角色,它保存一些响应数据,在 web 和工作角色之间共享,有几个实例使用缓存(可能大约 10 个)。1 是 1 个 Web 角色(2 个实例)上的同位缓存,其中包含该角色单独需要的一些小 ID。

我们认为这个问题可能与两个缓存都配置为使用 Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString 值中的相同存储帐户这一事实有关,并且它们似乎会覆盖彼此的更改。

这是使用两个缓存的角色的配置:

我们只是通过做创建一个缓存客户端

然后打电话GetPut

0 投票
1 回答
478 浏览

c# - 如何通过 Azure 缓存重用 DataCacheFactory(共存)

我已经部署了一个带有 Co-located 缓存的 Azure WebRole。我正在为客户端使用以下默认配置。

目前我每次访问缓存时都会运行以下代码

DataCacheFactory CacheFactory = new DataCacheFactory(); _Cache = CacheFactory.GetDefaultCache();

这会导致我的应用程序池经常终止。如何DataCacheFactory在需要时重新使用它。

提前致谢

0 投票
1 回答
146 浏览

azure - Azure 缓存错误?

我部署了一个 azure web 角色,我的错误日志告诉我我收到了错误:

ErrorCode:SubStatus:连接已终止,可能是由于服务器或网络问题或序列化对象大小大于服务器上的 MaxBufferSize。请求的结果未知。附加信息:客户端试图与服务器通信:net.tcp://xxx.xxx.xxx.xxx:20003。

是什么导致了这个错误?

MaxBufferSize 在哪里指定?

我该如何纠正这个问题?

0 投票
1 回答
101 浏览

asp.net - Asp.net azure co 位于缓存会话状态设置?

当使用 azure co-located 缓存进行会话时,我是否需要为缓存指定高可用性以允许所有计算机都可以访问“相同”会话。

因此,如果我禁用了高可用性,即使多个服务器处理请求,会话是否仍然有效?

0 投票
0 回答
106 浏览

reflection - 在运行时或基于配置的预构建之间切换 azure/on-prem 特定程序集

我有一个 wcf Web 服务,可以部署到 azure 或本地。我试图为这两种场景提供一个通用代码库,但每个场景都有不同的 web.config。问题是,当 wcf 服务部署在 azure 上时,它需要与 azure 缓存实例通信,如果部署在 prem 上,它将与 Windows 应用程序结构缓存服务器通信。与两者对话的代码保持不变,因为它们本质上是相同的缓存产品。但是 - 如果 wcf 服务要与 azure 缓存通信,则项目应该引用以下程序集:

如果代码必须与 prem 上的应用程序结构对话,则必须引用以下程序集。

我正在寻找一种解决方案,以便我可以保留相同的代码库(.cs 文件和 .csproj),并且使用 web.config 中的配置开关,它应该引用正确的程序集,例如 web 中的“UseAzure = 1” .config 则应引用和加载 azure 缓存客户端 dll,如果“UseAzure = 0”,则应加载 AF on-Prem dll。我想知道这是否可以使用运行时 C# 代码或通过 Visual Studio 前/后构建任务来实现。我对实现这一目标的任何其他想法持开放态度。有人可以确认这两个选项的可行性,如果可以的话,请指出一些类似的代码。

0 投票
2 回答
335 浏览

azure - Azure 数据缓存和区域

我了解 Azure 缓存中的区域提供了一种不同的方式来访问缓存中的对象(使用密钥除外)。

但是,我想知道为什么有一个接受密钥区域的DataCache.GetAndLock()版本。

是不是 key 不足以识别缓存中的对象?或者我可以在不同区域(在同一个数据缓存中)拥有具有相同键的对象吗?

如果我将对象添加到某个区域,然后尝试在不指定区域(但只指定键)的情况下获取它,会发生什么情况?