ImageResizer 不会将本地图片 url 重定向到 azure cdn url?

ImageResizer does not redirect local image url to azure cdn url?

我在 web.config 中配置了以下内容:

<resizer>
    <clientcache minutes="1440" />
    <plugins>

    </plugins>

  <plugins>
    <add name="AzureReader2"
         connectionString="DefaultEndpointsProtocol=https;AccountName=myaccountname;AccountKey=myaccountkey="
         endpoint="https://az824306.vo.msecnd.net/"
         prefix="~/" />
  </plugins>
    </resizer>

我在网站的根目录下有一个名为 bdgtpd 的目录,其中有一张图片 40420_1.png

我在 azure 上也有这张图片,位于:

https://az824306.vo.msecnd.net/bdgtpd/40420_1.png

最初,我将我的 src 设置为 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png,但是当我尝试应用 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png?width=300 之类的东西时,它不起作用。

所以我把它设置为:

<img src="~/bdgtpd/40420_1.png?width=300 />

这确实调整了图像的大小,但是当我查看 chrome 控制台时,我可以看到它正在从我的本地文件夹中抓取图像。可能我对AzureReader2插件不太了解,但是看到就想到了:

http://localhost/bdgtpd/40420_1.png?width=300,这将从 https://az824306.vo.msecnd.net/bdgtpd/40420_1.png 获取图像并应用转换。

src 设置正确吗?应该是本地url还是cdnurl?

好的,所以我将 ImageResizer 和 AzureReader2 一起部署到我的暂存服务器,并将我的图像指向我的暂存服务器。当我将前缀设置为 ~/ 时,站点抛出 404 错误,并且有 Blob Not Found 等消息。首页的所有图片都在CDN中。当我制作前缀 ~/azure/ 时,它工作正常,所以我不确定这里发生了什么。

我正在查看 could 架构文档,但我对一些事情感到困惑:

  1. 现在我有一个设置了 ~/azure/ 前缀路径的图像,所以当我查看网络选项卡下的 chrome 控制台时,我看到启动器是我的暂存服务器路径,但图像实际上是从 cdn 中提取的。对正在发生的事情有一个简单的解释会很棒。
  2. 当我使用clientcache时,如果用户从cdn请求相同的图片,图片是如何传递的?我不确定这是如何工作的?

非常感谢

如果 ImageResizer 在本地主机上是 运行(例如),那么您的 URL 应该指向本地主机。 Azure 没有任何神奇的能力来理解 ImageResizer 命令并执行它们;您必须与安装了 ImageResizer 的服务器通信。

您应该为 AzureReader2 配置一个前缀(例如 /azure/),尽管您似乎已经发现这行得通?