2015-10-29 117 views
0

在Umbraco V7.3.0站点中使用部分视图来连接并列出Azure Blob存储容器。页面在传统的文件夹/文件树中显示容器。我遇到的问题是,重新加载页面会将树的另一个副本附加到第一个无限广告的底部。我不知道缓存发生在哪里,Umbraco,Web Server还是Azure?这是行为的预期,有没有办法控制它?任何意见如何解决它的缓存将不胜感激。Umbraco/Azure Blob列表缓存

谢谢。

回答

0

这听起来像是一个逻辑中的错误,您将检索到的数据(目录列表)添加到现有数据而不是首先重新初始化现有数据 - 这可能吗?

+0

我不* *认为,以便所有对象new'd或初始化为空: \t IEnumerable的 containerList = client.ListContainers(rootContainer); \t HtmlString listing = null; \t foreach(var container containerList中){ \t \t listing = getContainerDirectories(container.ListBlobs()); \t \t \t @ Html.Raw(listing); \t \t \t} 和(见下评论)...... – Craig

+0

....(从去年评论)..... \t公共静态HtmlString getContainerDirectories(IEnumerable的 blobList){ \t var sb = new StringBuilder(“”); \t var finalOutput = new TagBuilder(“div”); \t sb.AppendLine(getDirectoriesAndContents(blobList,0).ToString()); \t finalOutput.InnerHtml = sb.ToString(); \t return new HtmlString(finalOutput.ToString(TagRenderMode.Normal)); \t} – Craig

+0

添加一个计数变量显示我从Azure提取的blob列表在每个页面加载时都是相同的。然而,显示的计数继续上升,除非项目重建(我猜应用程序重启)。所以尝试装饰辅助函数,做blobList询问和outputcache输出字符串操作,但没有区别。这假定问题是MVC,但不确定是否被Umbraco本身覆盖。 – Craig