问题标签 [appfabric-cache]
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.
appfabric - 如何设置 Windows Server AppFabric 命名缓存大小?
我目前正在评估 Windows Server AppFabric 作为分布式缓存解决方案。如果我们实现 AppFabric,我们将有 3 或 4 个不同的 Web 应用程序使用它进行缓存。我已经看到 AppFabric 提供了创建命名缓存的能力。我想知道是否可以在命名缓存上设置最大大小?看起来你可以设置一个最大值。缓存集群主机的内存大小,但我没有看到任何表明这可以在每个缓存的基础上完成。
我对设置最大值感兴趣的原因。每个缓存的大小是我的想法是我们将为每个使用 AppFabric 的应用程序创建一个命名缓存。然后,例如,应用程序 A 缓存的对象不会潜在地导致应用程序 B 缓存的对象被驱逐。也许我正在错误地考虑这一点,或者还有另一个 AppFabric 功能可以实现这一点。任何见解将不胜感激。
c# - 在 AppFabric 中手动缓存 MVC 视图
我试图通过自己缓存视图结果对象来重新创建 MVC 4 中 OutputCache 操作过滤器的大部分功能。我不想使用 OutputCache 操作过滤器的原因是因为我不能将它与 AppFabric 和部分视图一起使用;部分视图始终存储在 MemoryCache 中,我希望在服务器场中使用缓存的对象。
我遇到的第一个问题是
这让我想知道我是否应该缓存其他东西以返回本质上是最后的视图。有没有人知道我应该缓存什么来重新创建视图或在服务器场上缓存部分视图的不同方法?我不想为此使用第三方插件。
谢谢
更新:我开始像这样缓存部分视图的字符串表示:
这使得在缓存中检索字符串并将其作为操作中的内容返回变得很容易。我仍在寻找其他建议或更好的方法来做到这一点。
c# - AppFabric 1.0 错误 服务器集合不能为空
运行简单的Windows Server App Fabric 1.0演示控制台应用程序时出现以下错误:
请帮帮我..我错过了什么..?? 我已经查看了互联网上的每个地方,似乎没有任何东西可以解决这个问题。谢谢..
我的申请如下:
我的 app.config 如下:
appfabric - AppFabric - 将数据放入本地缓存
我对 AppFabric 很陌生,我想了解的是如何规定我希望数据进入分布式缓存以及本地缓存
我在这里阅读了基于配置执行此操作的帖子。我没有使用任何 XML 配置,而是以编程方式使用配置创建我的对象。我正在玩以下代码:-
我是否正确假设因为我已将本地缓存配置添加到 factoryConfig 对象,所以我的缓存项目将自动添加到本地缓存以及分布式缓存?
因此,如果我只想将项目缓存到分布式缓存中,我是否只需要放弃将本地缓存配置添加到 factoryConfig 对象?
还是我需要两个单独的工厂配置对象 - 每个缓存一个?
appfabric - AppFabric 缓存依赖
有什么方法可以将对象放入具有依赖项的缓存中?
例如,如果我将 ObjectB 放入依赖于 ObjectA 的缓存中,那么当 ObjectA 过期或我删除它时,ObjectB 也会自动被删除?
我知道我可以创建区域和标记项目以创建我的依赖项,但我真的不想这样做,因为区域仅存在于集群中的一个缓存服务器上,这违背了分布式和可扩展缓存解决方案的要点.
如果我不能直接添加依赖项,我想我可以通过添加具有某种键命名约定的对象来创建依赖项来解决它。
例如。使用键“ObjectA ”
添加 ObjectA 使用键“ObjectA_ObjectB”添加 ObjectB
但是当我想使依赖于 ObjectA 的所有对象过期时,我需要根据密钥的通配符搜索来获取。这可能吗?
c# - 为 AppFabric 模拟缓存回调的测试用例
在控制台应用程序中,如果从缓存中添加或删除项目,我可以成功地从缓存集群中获得回调。
如何在测试驱动环境中执行相同的测试。当我编写测试用例时,我没有触发 OnCacheChange ..
请帮忙。
谢谢..
以下代码适用于控制台应用程序...
以下 TestMethod 无法触发 OnCacheChange 事件。
c# - appfabric VM 问题:服务器已拒绝客户端凭据
可能重复:
AppFabric 客户端虚拟机问题
我可以成功地从我的开发机器连接到应用结构缓存集群服务器。但是,当我尝试通过 VMWare VM 托管的 .net 应用程序进行操作时,出现以下错误:
System.ServiceModel.Security.SecurityNegotiationException:服务器已拒绝客户端凭据。---> System.Security.Authentication.InvalidCredential 异常:服务器已拒绝客户端凭据
请帮忙。
我的代码和配置文件如下:
配置文件如下:
c# - 枚举 AppFabric 缓存会引发 NullReferenceException
我们使用的是 Windows Server AppFabric 1.1(而不是 Azure),我认为我们已经设法污染了缓存,因此我们得到了一些奇怪的结果。
我们使用的是通读提供程序,因此如果密钥不在缓存中,则通读提供程序会转到数据库,填充缓存并将值返回给客户端。(顺便说一句,微软的团队决定要求通读提供程序应该存在于 GAC 中——这造成了无穷无尽的痛苦,所以我建议不要使用通读。我希望他们重新考虑这个选择。)
我的问题的症状是,当我尝试从缓存中获取项目时,当我希望通读提供程序从数据库中获取值时,它返回 null。重复调用返回 null 排除了数据库的任何暂时性问题。如果我从缓存中删除该项目并尝试再次获取它,它会成功。
为了尝试了解问题的严重程度,我想我会像这样枚举缓存中的所有项目:
存在异常处理是因为在枚举特定区域的 objectsInRegion 时缓存始终抛出空引用异常。
从例外:
Microsoft.ApplicationServer.Caching.Core
在 Microsoft.ApplicationServer.Caching.ChunkStream..ctor(Byte[][] buffers, Boolean writable) 在 Microsoft.ApplicationServer.Caching.Utility 的 Microsoft.ApplicationServer.Caching.ChunkStream..ctor(Byte[][] buffers)。在 Microsoft.ApplicationServer.Caching.CacheEnumerator.MoveNext() 处反序列化(Byte[][] 缓冲区,布尔 checkTypeToLoad)\r\n
我怀疑我们的通读提供程序在错误情况下做错了,但我还没有证明这一点。但是,我不希望 AppFabric 像这样从它的核心抛出空引用异常。
这是一个已知问题吗?有没有人有任何进一步的信息可能会有所帮助?
c# - 使用 AppFabric 缓存的企业库安全缓存
企业库安全块是否可以使用 AppFabric 缓存而不是 EnterpriseLibraryCaching?我可以简单地换出默认缓存块并使用 AppFabric 缓存来获取我的身份和主体吗?请帮忙。谢谢
appfabric - AppFabric 区域和本地缓存
(1) 我想知道我是否在我的 AppFabric 缓存中使用了区域,这些区域是否可以存在于本地缓存中?还是区域只存在于集群上?
(2) 作为一个单独的问题,我如何判断我的数据是来自集群还是来自本地缓存?是否有某种 AppFabric 工具可用于分析数据的来源?
我正在使用代码中的配置来设置我的本地缓存属性,以将我的项目放入本地缓存中,就像这样
我是否需要在“获取”上做任何特别的事情,或者它是否足够聪明,可以从本地缓存中获取它(如果它存在的话)?