gpt4 book ai didi

azure 缓存预览

转载 作者:行者123 更新时间:2023-12-03 03:20:20 25 4
gpt4 key购买 nike

我在我的计算机上尝试了新 sdk 附带的新 azure 预览版。我放置了具有缓存预览的辅助角色,并放置了具有 30% 缓存大小的协同定位角色。在我的 Controller 上我放置了以下代码:

 [OutputCache(Duration=int.MaxValue, VaryByParam="none")]
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
ViewBag.Id = Microsoft.WindowsAzure.ServiceRuntime.RoleEnvironment.CurrentRoleInstance.Id;
return View();
}

现在我通过模拟器使用 4 个实例运行辅助角色。结果是每次我看到不同的 id - 这意味着输出缓存永远不会与所有 4 个实例一起使用(需要明确的是,我将输出缓存配置为与缓存预览一起使用)。

只有当我将额外的缓存工作角色设置为专用角色时,一切才开始正常工作。

我的问题是:我是否需要额外的辅助角色才能真正使缓存预览正常工作? - 这意味着不使用 azure appfabric 缓存的权衡是放置额外的机器

我是否做了一些工作并且它应该与网络角色一起作为并置角色工作?

谢谢

编辑:这是我的 web.config 的另一部分

<dataCacheClients>
<tracing sinkType="DiagnosticSink" traceLevel="Error" />
<dataCacheClient name="default">
<autoDiscover isEnabled="true" identifier="NugetTest" />
<!--<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
</dataCacheClient>

如果我的标识符有 NugetTest (这是我的网络角色 - 我有 4 个),每次我切换机器时我都会得到不同的缓存。如果我将标识符更改为我的 worker 角色,我会得到结果

最佳答案

您可以在应用程序的 web.config 的提供程序配置中添加 applicationName 标签吗?如果不添加此项,实例将不会共享缓存。请注意applicationName标签。应该在专用或共置缓存场景中为 webrole 的 web.config 添加此内容。如果这解决了您的问题,请回复。

<caching>
<outputCache defaultProvider="DistributedCache">
<providers>
<add name="DistributedCache" type="Microsoft.Web.DistributedCache.DistributedCacheOutputCacheProvider, Microsoft.Web.DistributedCache" cacheName="<cacheName>" applicationName ="<anyName>" dataCacheClientName="<dataCacheClientName>" />
</providers>
</outputCache>
</caching>

关于 azure 缓存预览,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11078736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com