【问题标题】:How do I detect an azure blob storage file change and delete local cache instance of that file?如何检测 Azure Blob 存储文件更改并删除该文件的本地缓存实例?
【发布时间】:2018-06-22 21:26:50
【问题描述】:

我目前正在将旧版 .net 应用程序从专用服务器迁移到 auzre Web 应用程序。该应用程序使用 System.Web.Cache CacheDependency 进行 XML 文件缓存。

Caching.CacheDependency(xmlFile) 通常会检测对文件所做的更改并使用最新版本更新缓存。

问题是文件现在存储在 Azure 存储帐户(即不是本地文件系统)中,我需要一种方法来检测对文件所做的更改。 Caching.CacheDependency(xmlFile) 在这种情况下将不起作用,因为它会查找本地路径。

由于基于文件的 CacheDependency 不会检测到 Azure blob 存储上文件的更改,我们如何让 Web 应用检测更改并从本地缓存中删除过时的缓存文件?

我认为带有 blob 触发器的 web 函数将解决文件监控部分,但如何从 web 应用程序的 System.Cache 中删除文件?我还担心消耗过多的资源。有数千个文件。

有没有人遇到过这种情况,如果有,您的解决方案是什么。

【问题讨论】:

    标签: c# asp.net .net azure caching


    【解决方案1】:

    我遇到了这样的问题。

    解决方案是在 WebApp 中创建新端点。这个端点只是清理缓存。所以我们构建了一个带有blob存储触发器的WebJob,然后当这个触发器发生时,webjob通过POST调用新的端点,缓存读取新的数据。

    【讨论】:

    • 谢谢。是的,我同意这将是一个可行的解决方案,并且很可能是唯一的解决方案:) 端点解决了将文件更改传达给服务器的问题。我将实施并查看它的资源密集程度。
    猜你喜欢
    • 2018-03-13
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-15
    • 2018-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多